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
}
相关推荐
_深海凉_12 分钟前
LeetCode热题100-最长公共前缀
算法·leetcode·职场和发展
im_AMBER2 小时前
Leetcode 152 被围绕的区域 | 岛屿数量
数据结构·算法·leetcode·深度优先·广度优先·图搜索算法
吕司2 小时前
LeetCode Hot Code——最大子数组和
数据结构·算法·leetcode
XiYang-DING2 小时前
【LeetCode】144. 二叉树的前序遍历
算法·leetcode·职场和发展
6Hzlia3 小时前
【Hot 100 刷题计划】 LeetCode 215. 数组中的第K个最大元素 | C++ 快速选择与堆排序题解
c++·算法·leetcode
小白菜又菜3 小时前
Leetcode 3070. Count Submatrices with Top-Left Element and Sum Less Than k
算法·leetcode·职场和发展
会编程的土豆3 小时前
【数据结构与算法】拓扑排序2
数据结构·算法·leetcode
We་ct3 小时前
LeetCode 201. 数字范围按位与:位运算高效解题指南
开发语言·前端·javascript·算法·leetcode·typescript
木子欢儿3 小时前
在 Fedora 上配置 Go 语言(Golang)开发环境
开发语言·后端·golang
yangyanping201084 小时前
Go语言学习之 Gin 生产级 flag命令行参数解析库
开发语言·golang·gin