力扣热题100 k个一组反转链表题解

题目:

代码:

Go 复制代码
func reverseKGroup(head *ListNode, k int) *ListNode {
	cur := head
	for i := 0; i < k; i++ {
		if cur == nil {
			return head
		}
		cur = cur.Next
	}
	newHead := reverse(head, cur)
	head.Next = reverseKGroup(cur, k)
	return newHead
}

func reverse(start, end *ListNode) *ListNode { //翻转
	var pre *ListNode
	cur := start
	for cur != end {
		nex := cur.Next
		cur.Next = pre
		pre = cur
		cur = nex
	}
	return pre
}
相关推荐
十八岁讨厌编程22 分钟前
【算法训练营Day26】动态规划part2
算法·动态规划
智者知已应修善业1 小时前
【C++无数组矩阵对角线平均值保留2位小数】2022-11-18
c语言·c++·经验分享·笔记·算法·矩阵
papership2 小时前
【入门级-算法-6、排序算法: 计数排序】
数据结构·算法·排序算法
pengpeng022 小时前
力扣每日一题 611. 有效三角形的个数
算法·leetcode·职场和发展
2401_840105202 小时前
GESP C++5级 2025年6月编程2题解:最大公因数
数据结构·c++·算法
未知陨落2 小时前
LeetCode:56.子集
算法·leetcode·深度优先
PAK向日葵2 小时前
【算法导论】一道涉及到溢出处理的笔试题
算法·面试
哈泽尔都3 小时前
运动控制教学——5分钟学会样条曲线算法!(三次样条曲线,B样条曲线)
c++·人工智能·算法·机器学习·matlab·贪心算法·机器人
小镇学者3 小时前
【NOI】在信奥赛中 什么是函数交互题?
算法
未知陨落3 小时前
LeetCode:62.N皇后
算法·leetcode