Golang | Leetcode Golang题解之第61题旋转链表

题目:

题解:

Go 复制代码
func rotateRight(head *ListNode, k int) *ListNode {
    if k == 0 || head == nil || head.Next == nil {
        return head
    }
    n := 1
    iter := head
    for iter.Next != nil {
        iter = iter.Next
        n++
    }
    add := n - k%n
    if add == n {
        return head
    }
    iter.Next = head
    for add > 0 {
        iter = iter.Next
        add--
    }
    ret := iter.Next
    iter.Next = nil
    return ret
}
相关推荐
Lovely Ruby5 分钟前
前端er Go-Frame 的学习笔记:实现 to-do 功能(四),确保开发和部署共用一套代码
前端·学习·golang
资深web全栈开发16 分钟前
LeetCode 3583: 统计特殊三元组 - 从 O(n³) 到 O(n) 的顿悟之旅
算法·leetcode
java修仙传19 分钟前
力扣hot100题解:合并区间
算法·leetcode·职场和发展
古城小栈24 分钟前
Go语言 赋能 区块链 开发
开发语言·golang·区块链
疯狂的程需猿29 分钟前
Go超高速关键词匹配库:Zero-Alloc、AC自动机实现(升级版)
后端·golang·内容安全·关键词匹配
小生凡一33 分钟前
图解|Go的GMP在计算密集型和IO密集型的区别
开发语言·golang
鹿角片ljp12 小时前
力扣140.快慢指针法求解链表倒数第K个节点
算法·leetcode·链表
im_AMBER13 小时前
Leetcode 72 数组列表中的最大距离
c++·笔记·学习·算法·leetcode
曾几何时`13 小时前
归并排序(一)
数据结构·算法·leetcode
Dream it possible!14 小时前
LeetCode 面试经典 150_图的广度优先搜索_最小基因变化(93_433_C++_中等)(广度优先搜索(BFS))
c++·leetcode·面试·广度优先