您的位置:首页 > 其它

两两交换链表中的节点

2017-03-31 20:18 232 查看
I.   问题描述
       给一个链表,两两交换其中的节点,然后返回交换后的链表。给出 
1->2->3->4
,
你应该返回的链表是 
2->1->4->3

II.   解题思路
       有必要建立头结点,每找到两个节点交换两个节点的值,依次进行。
III.   代码实现

class Solution {

public:

    ListNode* swapPairs(ListNode* head) {

    ListNode* dummy= new ListNode(0);

    dummy->next=head;

    while(head!=NULL&&head->next!=NULL){

           int n=head->val;

           head->val=head->next->val;

           head->next->val=n;

           head=head->next->next;

    }

    return dummy->next;

    }

};

IV.   个人感悟
       完全常规的步骤,一定是我做的顺序有问题>_<
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: