题目
解法
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* swapPairs(struct ListNode* head) {
struct ListNode* newhead = NULL;
if(head == NULL || head->next ==NULL) //当只有0个或1个节点是不用交换
return head;
newhead = head->next;
head->next = swapPairs(newhead->next); //递归获得下一个节点的地址
newhead->next = head;
return newhead;
}