给定一个单链表,其中奇数位节点递增、偶数位节点递减,请将链表重排为整体升序。要求只能使用链表,不能使用其他数据结构。请写出算法思路和代码实现。
考察说明
考察链表操作、双指针/拆分与合并排序的算法设计能力
回答思路
- 识别奇偶位分离的核心思路,将链表拆成两个子链表
- 对递减的偶数位链表进行反转得到递增序列
- 对两个递增链表进行归并排序,保持空间复杂度O(1)
- 能正确处理边界情况(如空链表、单节点、奇偶长度不等)
- 代码实现正确,无内存泄漏或指针错误,时间效率分析准确
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。