请实现单链表重排问题:给定一个单链表 L0→L1→…→Ln-1→Ln,将其重排为 L0→Ln→L1→Ln-1→L2→Ln-2→…(例如 1→2→3→4 重排为 1→4→2→3)。要求只修改节点指针,不改变节点值,并分析时间和空间复杂度。
考察说明
考察链表操作、快慢指针、反转链表及边界处理能力
回答思路
- 能准确解释重排规则并确认输入输出示例
- 能通过快慢指针找到链表中点并拆分为两半
- 能反转后半部分链表
- 能交替合并两个链表并正确处理节点指针
- 能识别并处理空链表、单节点、双节点等边界情况
- 能分析时间复杂度为 O(n)、空间复杂度为 O(1)
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。