LeetCode 题解:61. 旋转链表,双指针,JavaScript,详细注释

原题链接:61. 旋转链表
解题思路:
输入:
head = [1,2,3,4,5], k = 2。如果将链表连接成环,会变成这样的样子:
[1,2,3,4,5,1,2,3,4,5, ...]。此时我们只要将
3 → 4的连接打断,即可得到结果:[4,5,1,2,3]。可以把问题按步骤解决:
创建两个指针,
slow = 1, fast = 1。将
fast向前移动2位,指向3。再将
slow和fast同时向前移动,知道fast指向尾结点,此时slow正好停留在链表要断点的位置。将
fast与head连接,让链表形成环。缓存新链表的头结点
const newHead = slow.next,将链表打断slow.next = null将新链表的头结点
newHead返回。
复制代码
版权声明: 本文为 InfoQ 作者【Lee Chen】的原创文章。
原文链接:【http://xie.infoq.cn/article/ba547fac1df2acfde760e5abc】。文章转载请联系作者。











评论