leetcode 25题

/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func reverseKGroup(head *ListNode, k int) *ListNode {
    last := head
    for i := 0; i < k; i++ {
        if last == nil {        //说明不足k个一组
            return head
        }
        last = last.Next
    }
    newHead := reverse(head, last)
    head.Next = reverseKGroup(last, k)
    return newHead
}

func reverse(first *ListNode, last *ListNode) *ListNode {
    prev := last
    for first != last {
        tmp := first.Next
        first.Next = prev
        prev = first
        first = tmp
    }
    return prev
}
#笔试题目#
全部评论
这个题牛客上也有
点赞 回复 分享
发布于 2022-05-16 19:25

相关推荐

不愿透露姓名的神秘牛友
07-03 17:37
点赞 评论 收藏
分享
后来123321:别着急,我学院本大二,投了1100份,两个面试,其中一个还是我去线下招聘会投的简历,有时候这东西也得看运气
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务