spider68

reverse linked list II

May 27th, 2020
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.50 KB | None | 0 0
  1.  ListNode* reverseBetween(ListNode* head, int m, int n) {
  2.         if(m==n)return head;
  3.         n-=m;
  4.         ListNode*tmp=new ListNode(0);
  5.         tmp->next=head;
  6.         ListNode*pre=tmp,*cur;
  7.        
  8.         while(--m)pre=pre->next;
  9.        
  10.         cur=pre->next;
  11.         ListNode*next=cur->next;
  12.         while(n--)
  13.         {
  14.             next=cur->next;
  15.             cur->next=next->next;
  16.             next->next=pre->next;
  17.             pre->next=next;
  18.         }
  19.         return tmp->next;
  20.     }
Add Comment
Please, Sign In to add comment