leetcode 206.反轉連結串列

瑪軟發表於2020-10-23

leetcode 206.反轉連結串列

題幹

反轉一個單連結串列。

示例:
輸入: 1->2->3->4->5->NULL
輸出: 5->4->3->2->1->NULL

進階:
你可以迭代或遞迴地反轉連結串列。你能否用兩種方法解決這道題?

題解

寫的時候理清節點變化的順序,結果很容易出來

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        ListNode* ptr = head;
        ListNode* preNode = nullptr;
        while(ptr!= nullptr){
            ListNode* nextNode = ptr->next;
            ptr->next = preNode;
            preNode = ptr;
            ptr = nextNode;
        }
        return preNode;
    }
};

相關文章