1. var reverseKGroup = function(head, k) {
    2. let a = head, b = head;
    3. for (let i = 0; i < k; i++) {
    4. if (b == null) return head;
    5. b = b.next;
    6. }
    7. const newHead = reverse(a, b);
    8. a.next = reverseKGroup(b, k);
    9. return newHead;
    10. };
    11. function reverse(a, b) {
    12. let prev = null, cur = a, nxt = a;
    13. while (cur != b) {
    14. nxt = cur.next;
    15. cur.next = prev;
    16. prev = cur;
    17. cur = nxt;
    18. }
    19. return prev;
    20. }

    (此文章只是为了记笔记,为了尊重作者原文详细请参考如下链接,谢谢!)
    参考资源: