1. var reverseGroup = (head, k) => {
    2. if(head === null) {
    3. return null
    4. }
    5. let a = head;
    6. let b = head;
    7. for(let i = 0;i < k;i++) {
    8. if(b === null) {
    9. return head
    10. }
    11. b = b.next
    12. }
    13. let newHead = reverse(a, b)
    14. a.next = reverseGroup(b, k)
    15. return newHead
    16. }
    17. //反转[a, b)
    18. function reverse(a, b) {
    19. let pre = null;
    20. let cur = a;
    21. let nxt = a;
    22. while(cur !== b) {
    23. next = cur.next;
    24. cur.next = pre;
    25. pre = cur;
    26. cur = nxt;
    27. }
    28. }