0
点赞
收藏
分享

微信扫一扫

LeetCode 92. Reverse Linked List II

大明宫 2023-09-05 阅读 14


m to n. Do it in-place and in one-pass.

For example:

Given 1->2->3->4->5->NULL, m = 2 and n1->4->3->2->5->NULL.

Note:
Given m, n satisfy the following condition:

1 ≤ m ≤ n

answer:

class Solution {
public:
    ListNode* reverseBetween(ListNode* head, int m, int n) {
        int i = 1;
        ListNode preNode(0);
        ListNode * pre = & preNode, * index = head, * start = head;
        pre->next = head;
        while(i < m){
            pre = index;
            index = index->next;
            i ++;
        }
        start = index;
        while(i < n){
            index = index->next;
            start->next = index->next;
            index->next = pre->next;
            pre->next = index;
            index = start;
            //start = pre->next;
            i ++;
        }
        return preNode.next;
    }
};




举报

相关推荐

0 条评论