LeetCode—— 两两交换链表中的节点

题目地址:https://leetcode-cn.com/problems/swap-nodes-in-pairs/

解题思路:注意head是首元结点不是头结点。

class Solution {
public:
    ListNode* swapPairs(ListNode* head) {
        ListNode *p,*q;
        ListNode *ans=new ListNode(0);
        ans->next=head;
        p=ans;
        q=p->next;
        while(q){
            if(!q->next)
                break;
            p->next=q->next;
            q->next=p->next->next;
            p->next->next=q;
            p=q;
            q=q->next;
        }
        return ans->next;
    }
};

 

posted @ 2020-08-14 14:44  CCxiao5  阅读(97)  评论(0编辑  收藏  举报