后端岗位面试题更新 2026-08-05

给定一个单链表的头节点,请实现原地重排,使得结果满足第一个节点、最后一个节点、第二个节点、倒数第二个节点……的顺序。例如 1->2->3->4 变为 1->4->2->3,1->2->3->4->5 变为 1->5->2->4->3。要求时间复杂度 O(n),空间复杂度 O(1)。请说明你的算法思路并写出代码。

字节跳动后端开发互联网/IT编码实现问题拆解技术原理

考察说明

考察链表操作、双指针找中点、反转链表与合并的编码实现能力

回答思路

  1. 能正确使用快慢指针找到链表中间节点
  2. 能正确反转后半段链表
  3. 能正确交错合并两段链表并处理奇数长度节点
  4. 代码边界处理正确(空链表、单节点、双节点)
  5. 能分析时间复杂度和空间复杂度
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。