题解 | #牛群旋转#

牛群旋转

https://www.nowcoder.com/practice/5137e606573843e5bf4d8ea0d8ade7f4

知识点:

模拟

解题思路:

先遍历链表算出长度,在让k模上len算出实际移动的长度k。从后截取k长度的链表,在拼上前段链表即可

语言:

Golang

package main

/*
 * type ListNode struct{
 *   Val int
 *   Next *ListNode
 * }
 */

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param head ListNode类
 * @param k int整型
 * @return ListNode类
 */
func rotateLeft( head *ListNode ,  k int ) *ListNode {
    // write code here
    len:=0
    cur:=head
    tail:=cur
    for cur!=nil{
        len++
        tail =cur
        cur=cur.Next
    }
    k=k%len
    newHead:=&ListNode{}
    cur = head
    for i:=0;i<len - k-1;i++{
        cur =cur.Next
    }
    newHead.Next =cur.Next
    cur.Next =nil
    tail.Next = head
    return newHead.Next
}

全部评论

相关推荐

03-26 15:18
已编辑
华北水利水电大学 Java
点赞 评论 收藏
分享
起一个响亮的名字吧xzx:学习 c++
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务