1. 程式人生 > 遊戲攻略 >《原神攻略》pv足跡涉及幾個地區?pv足跡涉及地區介紹

《原神攻略》pv足跡涉及幾個地區?pv足跡涉及地區介紹

給定一個連結串列,兩兩交換其中相鄰的節點,並返回交換後的連結串列。

你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。

思路

這道題目正常模擬就可以了。

建議使用虛擬頭結點,這樣會方便很多,要不然每次針對頭結點(沒有前一個指標指向頭結點),還要單獨處理。

接下來就是交換相鄰兩個元素了,此時一定要畫圖,不畫圖,操作多個指標很容易亂,而且要操作的先後順序

初始時,cur指向虛擬頭結點,然後進行如下三步:

class Solution {
    public ListNode swapPairs(ListNode head) {
        if(head==null ||head.next==null){
            return head;
        }
        ListNode dumyHead=new ListNode();
        dumyHead.next=head;
        ListNode cur=dumyHead;
        //這裡的條件要注意一下 cur.next!=null && cur.next.next!=null
        while(cur.next!=null&&cur.next.next!=null){
            ListNode n1=cur.next;
            ListNode n2=cur.next.next;
            cur.next=n2;
            n1.next=n2.next;
            n2.next=n1;
            cur=n1;
        }
        return dumyHead.next;
    }
}