反转链表 II
var reverseBetween = function (head, left, right) {
let cur = head;
let pre = null;
let i = 1;
if (left === right) {
return head;
}
while (i < left) {
pre = cur;
cur = cur.next;
i++;
}
let newCur = cur;
let newPre = pre;
while (i >= left && i <= right) {
let next = cur.next;
cur.next = pre;
pre = cur;
cur = next;
i++;
}
newCur.next = cur;
if (newPre) {
newPre.next = pre;
} else {
head = pre;
}
return head;
};
反转链表
var reverseList = function (head) {
let cur = head
let pre = null
while(cur !== null) {
let next = cur.next
cur.next = pre
pre = cur
cur = next
}
return pre
}