js_algorithm
js_algorithm copied to clipboard
反转链表 II
leetcode: https://leetcode-cn.com/problems/reverse-linked-list-ii/
编码实现
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} head
* @param {number} m
* @param {number} n
* @return {ListNode}
*/
var reverseBetween = function(head, m, n) {
let pre, cur, leftHead;
const dummy = new ListNode();
dummy.next = head;
let p = dummy;
for (let i = 0; i < m-1; i++) {
p = p.next;
}
leftHead = p;
let start = leftHead.next;
pre = start;
cur = pre.next;
for (let i = m; i < n;i++) {
let next = cur.next;
cur.next = pre;
pre = cur;
cur = next;
}
leftHead.next = pre;
start.next = cur;
return dummy.next;
};