两两交换链表中的节点
2026-04-05
算法
两两交换链表中的节点
1. 题目描述
2. 解题思路
核心总结
- 核心思想:重新建立指向关系。引入
dummy节点保证逻辑一致。通过三步翻转法:1号指向3号,2号指向1号,前驱指向2号。
💡 易错点
- 容易形成环:修改指向前需利用局部变量暂存节点。
- 循环条件:必须同时检查
pre.next(奇数长) 和pre.next.next(偶数长),且顺序不能反。
3. 代码实现
1 | /** |
4. 复杂度分析
- 时间复杂度:$O(n)$
- 空间复杂度:$O(1)$
5. 总结与反思
本文已被观测了 次