两两交换链表中的节点。给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
示例:
1 |
|
1 |
|
思路一
定义一个空指针头,使用两个指针分别指向当前指针和当前指针的前一个指针,交换当前指针与当前指针的后一个指针,然后指针后移。时间复杂度 $O(n)$。
1 |
|
1 |
|
思路二
递归实现。时间复杂度 $O(n)$。
1 |
|
两两交换链表中的节点。给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
示例:
1 |
|
1 |
|
定义一个空指针头,使用两个指针分别指向当前指针和当前指针的前一个指针,交换当前指针与当前指针的后一个指针,然后指针后移。时间复杂度 $O(n)$。
1 |
|
1 |
|
递归实现。时间复杂度 $O(n)$。
1 |
|
微信打赏
支付宝打赏