《原神攻略》pv足跡涉及幾個地區?pv足跡涉及地區介紹
阿新 • • 發佈:2021-10-02
給定一個連結串列,兩兩交換其中相鄰的節點,並返回交換後的連結串列。
你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。
思路
這道題目正常模擬就可以了。
建議使用虛擬頭結點,這樣會方便很多,要不然每次針對頭結點(沒有前一個指標指向頭結點),還要單獨處理。
接下來就是交換相鄰兩個元素了,此時一定要畫圖,不畫圖,操作多個指標很容易亂,而且要操作的先後順序
初始時,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; } }