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

请实现一个函数,将链表原地重排为:第一个节点、最后一个节点、第二个节点、倒数第二个节点……的顺序。例如 {1,2,3,4} 变为 {1,4,2,3},{1,2,3,4,5} 变为 {1,5,2,4,3}。要求不能只修改节点值,必须实际交换节点。

招商银行·招银网络科技后端开发金融编码实现问题拆解

考察说明

考察链表分半、反转后半部分及交替合并的算法实现能力

回答思路

  1. 使用快慢指针找到链表中点
  2. 反转后半部分链表
  3. 依次交替合并前半部分与反转后的后半部分
  4. 正确处理奇偶长度链表
  5. 保持节点交换而非只改值
  6. 分析时间复杂度和空间复杂度
本题已收录答题指导

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

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