查看: 29|回复: 0

61 旋转链表

[复制链接]

1

主题

0

回帖

0

积分

积极分子

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2009-11-15
发表于 2026-4-20 21:30:00 | 显示全部楼层 |阅读模式

61 旋转链表

/**
 * Definition for singly-linked list.
 * function ListNode(val, next) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.next = (next===undefined ? null : next)
 * }
 */
/**
 * @param {ListNode} head
 * @param {number} k
 * @return {ListNode}
 */
var rotateRight = function(head, k) {
    // 判断我们的这个节点是不是空的
    if(!head) return null;
    // 找到我们链表的尾节点,穿成环,获取到链表的长度,
    let cur=head,size=1;
    while(cur.next)cur=cur.next,size+=1;
    cur.next=head;
    // 找到第size-k个节点。然后将他断开
    for(let i=0;i<size-k%size-1;i++){
        head=head.next;
    }
    cur=head.next;
    head.next=null;
    return cur;
};


来源:https://www.cnblogs.com/KooTeam/p/19897381
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部