/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ // recursive version class Solution1 { public: ListNode* ReverseList(ListNode* pHead) { if (pHead == NULL || pHead-> next == NULL) return pHead; ListNode * p = ReverseList(pHead->next); pHead-> next-> next = pHead; pHead->next = NULL; return p;//Only return the last node } }; // non-recursive version class Solution { public: ListNode* ReverseList(ListNode* pHead) { if (pHead == NULL || pHead-> next == NULL) return pHead; ListNode * pre = pHead; ListNode * last = NULL; ListNode * next = NULL; while(pre != NULL) { next = pre->next; pre->next = last; last = pre; pre = next; } return last; } };
The sword refers to the offer---- reverse the linked list
Guess you like
Origin http://10.200.1.11:23101/article/api/json?id=326660077&siteId=291194637
Recommended
Ranking