[Leetcode]Swap Nodes in Pairs

来源:互联网 发布:实时监测网速软件 编辑:程序博客网 时间:2024/06/05 20:07

//不熟啊不熟,链表...next指针要先改,然后再是指向node本身的指针

/**

 * 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 ret(0);
        //ret.next=head;
        if(head==NULL||head->next==NULL)return head;
        ListNode *p=head;//&ret;
        ListNode *pre=p->next;
        head=pre;
        
        ListNode *prepre=p;
        while(p&&pre)
        {
            //prepre->next=pre;
            p->next=pre->next;
            pre->next=p;
            prepre=p;
            p=p->next;
            if(p==NULL)break;
            else
            pre=p->next;
        }
        //return ret.next;
        return head;
    }
};
0 0
原创粉丝点击