给你一个链表的头节点head,旋转链表,将链表每个节点向右移动 k个位置。

    1. 输入:head = [1,2,3,4,5], k = 2
    2. 输出:[4,5,1,2,3]
    1. var rotateRight = function (head, k) {
    2. if (!head || !head.next || !k) return head
    3. let n = 1
    4. let cur = head
    5. while (cur.next) {
    6. n++
    7. cur = cur.next
    8. }
    9. // 取余,防止多次旋转
    10. let add = n - k % n
    11. // 建立环形
    12. cur.next = head
    13. while (add) {
    14. add--
    15. cur = cur.next
    16. }
    17. const res = cur.next
    18. // 切断环形链接
    19. cur.next = null
    20. return res
    21. }