1. 思路
- 交换两个指针的操作,比较基础。
- 只不是是在处理指针的操作上加入了递归节点,因为prev的下一个节点还没有完全确定,所以需要用递归的方式来代替
2. Python3实现
class Solution:def swapPairs(self, head: Optional[ListNode]) -> Optional[ListNode]:if head is None or head.next is None:return head# 定义prev 和 cur 节点 以及backup节点# backup 备份节点用于递归。因为在变更指针的会影响到cur.next,需要提前备份prev = headcur = head.nextbackUp = cur.next# 改变指针指向cur.next = prevprev.next = self.swapPairs(backUp)return cur