Leetcode 92 Reverse Linked List II
这道题和Reverse Linked List差不多,就是差一个范围。如果搞明白了那个套路,这道题还是非常简单的,具体代码如下所示:
class Solution { public: ListNode* reverseBetween(ListNode* head, int m, int n) { if (head == NULL || head->next == NULL) { return head; } ListNode* dummyHead = new ListNode(0); dummyHead->next = head; ListNode* prev = dummyHead; for(int i=0; i<m-1; ++i) { prev = prev->next; } ListNode* cur = prev->next; ListNode* nex = cur->next; for(int i=0; i<n-m; ++i) { cur->next = nex->next; nex->next = prev->next; prev->next = nex; nex = cur->next; } ListNode* retHead = dummyHead->next; delete dummyHead; return retHead; } };

浙公网安备 33010602011771号