请实现一个算法:给定一个单链表,每 k 个节点一组进行翻转,返回翻转后的链表,k 是一个正整数,其值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。
考察说明
考察链表操作、递归或迭代思维以及边界情况处理
回答思路
- 正确理解题目约束:k 小于等于链表长度,剩余不足 k 个保持原序
- 能清晰描述递归或分组迭代的总体思路
- 正确实现区间翻转与前后连接,注意头节点更新
- 能处理 k=1 或空链表等边界情况
- 能分析时间复杂度 O(n) 与空间复杂度 O(1) 或 O(n/k)(递归)
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。