题目解析:
快慢指针
快指针,先走k个元素,慢指针在开始移动,
当快指针移动到末尾的时候,while循环结束,慢指针的位置就是旋转链表的新节点
而后,三步:
1、快指针,闭环头部
2、慢指针拆开,慢指针的下一个节点,是初始节点
3、慢指针是最后一个节点,指null
var rotateRight = function (head, k) {let fast = head;let slow = head;while (k--) {if (fast && fast.next) {fast = fast.next} else {fast = head}}if (slow === fast) return headwhile (fast.next) {slow = slow.next;fast = fast.next;}// 遍历结束后,开始处理fast.next = head;head = slow.next;slow.next = null;return head;};
