这题目比较简单,看了很多结题方法都是新建链表,但也可以使用递归方法,代码量非常少。
class Solution {
public:
ListNode* swapPairs(ListNode* head) {
if((head==NULL)||(head->next==NULL))//递归结束条件
return head;
ListNode *tmp=head->next;//先保存下每次递归要返回的节点(第二个节点)的指针
head->next=swapPairs(head->next->next);//递归调用
tmp->next=head;
return tmp;
}
};