LeetCode 206.Reverse Linked List (反轉連結串列)
阿新 • • 發佈:2018-11-20
題目描述:
反轉一個單鏈表。
示例:
輸入: 1->2->3->4->5->NULL
輸出: 5->4->3->2->1->NULL
AC C++ Solution:
從連結串列頭開始一次反轉一個節點
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* reverseList(ListNode* head) { ListNode* pre = NULL; while (head) { //從連結串列的開頭每次反轉一個節點 ListNode* next = head -> next; head -> next = pre; //反轉 pre = head; head = next; } return pre; } };