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

相关推荐

01-30 09:45
燕山大学 Java
喵_coding:这种直接跑就完事了 哪有毕业了才签合同 任何offer和三方都没有的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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