class Solution {
public:
ListNode* reverseBetween(ListNode* head, int m, int n) {
if(m==n) return head;
ListNode* dummy=new ListNode(0);
dummy->next=head;
ListNode* a=dummy;
ListNode* d=dummy;
for(int i=0;i<m-1;i++) a=a->next;
for(int i=0;i<n;i++) d=d->next;
ListNode* b=a->next;
ListNode* c=d->next;
for(auto pre=b,cur=b->next;cur!=c;){
ListNode* temp=cur->next;
cur->next=pre;
pre=cur;
cur=temp;
}
a->next=d;
b->next=c;
return dummy->next;
}
};
Leetcode92(力扣92):反转链表II
最新推荐文章于 2023-08-03 13:55:31 发布