給定一個(gè)鏈表,兩兩交換其中相鄰的節(jié)點(diǎn)沸手,并返回交換后的鏈表
你不能只是單純的改變節(jié)點(diǎn)內(nèi)部的值针炉,而是需要實(shí)際的進(jìn)行節(jié)點(diǎn)交換。
示例:
給定 1->2->3->4, 你應(yīng)該返回 2->1->4->3.
C
struct ListNode* swapPairs(struct ListNode* head){
struct ListNode* r;
if(head==NULL||head->next==NULL)
return head;
struct ListNode* temp = head->next;
head->next = swapPairs(temp->next);
temp->next = head;
return temp;
}