var rotateRight = function(head, k) {
//计算链表的长度
let h = head;
let len = 0;
while(h){
len++;
h = h.next;
}
//长度为0和1时直接返回
if(len == 0 || len == 1)return head;
//对k取余
k = k % len;
//向后移动一位返回新head
function move(head){
let q = new ListNode();
q.next = head;
while(q.next.next)q = q.next;
q.next.next = head;
head = q.next;
q.next = null;
return head;
}
//向后移动
for(let i = 0; i < k; i++)
head = move(head);
return head;
};
JS力扣刷题61. 旋转链表
最新推荐文章于 2025-04-15 20:50:10 发布
该博客详细介绍了如何使用JavaScript实现链表的右旋操作。首先计算链表的长度,然后根据长度对指定的旋转次数k取余,接着通过辅助函数将链表向后移动一位。最后,根据k的值进行多次移动,完成链表的旋转。这个算法适用于数据结构和算法的学习与实践。

844

被折叠的 条评论
为什么被折叠?



