![](https://img.haomeiwen.com/i1560080/3d90cba99043863e.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;
}
网友评论