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
}
相关推荐
文丑颜不良啊16 小时前
LeetCode2821~2840题目解析
java·leetcode
Pniubi20 小时前
力扣24. 两两交换链表中的节点(递归)
算法·leetcode·链表
文丑颜不良啊21 小时前
LeetCode2741~2760题目解析
java·leetcode
俊俊几年的21 小时前
动态规划(Dynamic Programming)详解:从入门到 LeetCode Hot 100
linux·c++·算法·leetcode·嵌入式·动态规划·c
程序员Query21 小时前
day01-认识Go语言 + golang环境的安装
开发语言·后端·golang
希望我万事顺遂2 天前
力扣hot100-滑动窗口最大值
数据结构·算法·leetcode
喵了几个咪2 天前
GoWind Flow 拆解:一个 Go 工作流引擎与它的双模式设计器
开发语言·人工智能·后端·golang
codeejun2 天前
每日一Go·MySQL-14、慢 SQL 产生原因全解
sql·mysql·golang
是main不是漫2 天前
【双指针|LeetCode1089 复写零】巧用逆向思路,破解原地覆盖陷阱
数据结构·算法·leetcode
Pniubi3 天前
力扣76.最小覆盖子串
算法·leetcode·职场和发展