March 23, 2020
https://leetcode-cn.com/problems/swap-nodes-in-pairs/
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func swapPairs(head *ListNode) *ListNode {
if head == nil || head.Next == nil {
return head
}
res := head.Next
head.Next = swapPairs(res.Next)
res.Next = head
return res
}
题目比较简单,遍历链表并交换前后节点即可。这里我使用了递归的方式,这样不需要区分奇偶节点,每次只交换 head 和 head.Next,后面的链表递归到下一轮做。
痕迹
没有过去,就没法认定现在的自己