
题解
/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } *//** * @param {ListNode} head * @param {number} k * @return {ListNode} */const reverse = (head, b) => { if (!head) return null; let target = head; let pre = null; while (target != b) { let temp = target.next; target.next = pre; pre = target; target = temp; } return pre;}var reverseKGroup = function (head, k) { if (!head) return null; let a = b = head; for (let i = 0; i < k; i++) { if (!b) return head; b = b.next; } let newNode = reverse(a, b); a.next = reverseKGroup(b, k); return newNode;};