题目
题目链接
. - 力扣(LeetCode)
题目描述
代码实现
class Solution {
public:ListNode* swapPairs(ListNode* head) {if(head == nullptr || head->next == nullptr) return head;ListNode *tmpHead = swapPairs(head->next->next);ListNode *next = head->next;head->next->next = head;head->next = tmpHead;return next;}
};
思路分析
1、首先将头两个节点之后的链表看作一个整体,完成两两节点之间的交换。
2、其次,就是完成头部两个节点的交换,然后和后边的整体连接起来,成为完整的链表。
3、其次考虑递归出口,当头节点只有一个或者为空的时候,直接返回头节点即可。