请实现 LeetCode 143:重排链表。给定一个单链表 L0→L1→…→Ln-1→Ln,要求重新排列为 L0→Ln→L1→Ln-1→L2→Ln-2→…。请说明你的解法并分析时间和空间复杂度。
考察说明
考察链表操作、双指针找中点、反转链表和合并链表的综合实现能力
回答思路
- 正确找到链表中间节点(快慢指针)
- 正确反转后半部分链表
- 正确交替合并两个链表
- 分析时间复杂度为 O(n)、空间复杂度为 O(1) 或说明额外空间
- 处理空链表和单节点边界情况
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。