美文网首页
92. Reverse Linked List II

92. Reverse Linked List II

作者: 7ccc099f4608 | 来源:发表于2020-03-13 23:55 被阅读0次

https://leetcode-cn.com/problems/reverse-linked-list-ii/

image.png

(图片来源https://leetcode-cn.com/problems/reverse-linked-list-ii/

日期 是否一次通过 comment
2020-03-13 0

public ListNode reverseBetween(ListNode head, int m, int n) {
        ListNode dummy = new ListNode(-1);
        dummy.next = head;
        ListNode pre = dummy;  // 逆序前一个node,且不移动

        for(int i=0; i<m-1; i++) {
            pre = pre.next;
        }

        ListNode curP = pre.next;  // 待逆序的第一个node,不移动;每次逆序完后,一直处于逆序的末尾
        ListNode nextP = curP.next;  // 每次逆序,下一个待逆序的node,一直更新curP.next

        for(int i=0; i<n-m; i++) {
            curP.next = nextP.next;
            nextP.next = pre.next;
            pre.next = nextP;
            nextP = curP.next;
        }

        return dummy.next;
    }

相关文章

网友评论

      本文标题:92. Reverse Linked List II

      本文链接:https://www.haomeiwen.com/subject/dbiushtx.html