美文网首页Leetcode
Leetcode.206.Reverse Linked List

Leetcode.206.Reverse Linked List

作者: Jimmy木 | 来源:发表于2019-11-27 18:25 被阅读0次

    题目

    给定一个单向链表, 将链表反转.

    Input: 1->2->3->4->5->NULL
    Output: 5->4->3->2->1->NULL
    

    思路

    遍历链表, 每次都将当前节点加到上一个节点后面.

    ListNode* reverseList(ListNode* head) {
        if (head == nullptr) return head;
        ListNode *after = nullptr;
        while (head != nullptr && head->next != nullptr) {
            ListNode *temp = new ListNode(head->val);
            temp->next = after;
            after = temp;
            head = head->next;
        }
        head -> next = after;
        return head;
    }
    

    总结

    使用了额外内存空间, 还可以不创建新的节点来实现.

    相关文章

      网友评论

        本文标题:Leetcode.206.Reverse Linked List

        本文链接:https://www.haomeiwen.com/subject/avyewctx.html