2->3->4, you should return the..."/>
您好,登錄后才能下訂單哦!
24. Swap Nodes in Pairs
Given a linked list, swap every two adjacent nodes and return its head.
For example,
Given 1->2->3->4
, you should return the list as 2->1->4->3
.
Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.
題目大意:
交換每兩個節(jié)點(diǎn)的位置。
代碼如下:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* swapPairs(ListNode* head) { ListNode* left,*right,*pre,*p; pre = NULL;//記錄每兩個節(jié)點(diǎn)前面的那個節(jié)點(diǎn) p = head; while(p !=NULL && p->next != NULL) { left = p; right = p->next; left->next = right->next; right->next = left; if(pre != NULL) { pre->next = right; } else//鏈表的頭兩個節(jié)點(diǎn)交換位置 { head = right; } pre = left; p = left->next; } return head; } };
2016-08-12 23:51:00
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。