国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

[LintCode] Swap Nodes in Pairs

EscapedDog / 2163人閱讀

摘要:指針為,我們選擇的兩個結點是和。要注意循環的邊界條件,這兩個結點不能為空。主要思路是先用和兩個新結點去保存和兩個結點。完成交換之后,連接和,并讓前進至此時的結點。

Problem

Given a linked list, swap every two adjacent nodes and return its head.

Example

Given 1->2->3->4, you should return the list as 2->1->4->3.

Note

指針為p,我們選擇swap的兩個結點是p.nextp.next.next。要注意while循環的邊界條件,這兩個結點不能為空。主要思路是先用nexttemp兩個新結點去保存p.next.next.nextp.next兩個結點。完成交換之后,連接tempnext,并讓p前進至此時的temp結點。

Solution
    public class Solution {
        public ListNode swapPairs(ListNode head) {
            if (head == null) return head;
            ListNode dummy = new ListNode(0);
            dummy.next = head;
            ListNode p = dummy;
            while (p.next != null && p.next.next != null) {
                ListNode next = p.next.next.next;
                ListNode temp = p.next;
                p.next = p.next.next;
                p.next.next = temp;
                temp.next = next;
                p = temp;
            }
            return dummy.next;
        }
    }

OR

public class Solution {
    public ListNode swapPairs(ListNode head) {
        if (head == null || head.next == null) return head;
        ListNode dummy = new ListNode(0);
        dummy.next = head;        
        ListNode cur = dummy;
        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 dummy.next;
    }
}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/65431.html

相關文章

  • [LintCode] Swap Two Nodes in Linked List

    摘要:建立結點,指向可能要對進行操作。找到值為和的結點設為,的前結點若和其中之一為,則和其中之一也一定為,返回頭結點即可。正式建立,,以及對應的結點,,然后先分析和是相鄰結點的兩種情況是的前結點,或是的前結點再分析非相鄰結點的一般情況。 Problem Given a linked list and two values v1 and v2. Swap the two nodes in th...

    wua_wua2012 評論0 收藏0
  • [Leetcode] Swap Nodes in Pairs Reverse Nodes in k-

    摘要:三指針法復雜度時間空間思路基本的操作鏈表,見注釋。注意使用頭節點方便操作頭節點。翻轉后,開頭節點就成了最后一個節點。 Swap Nodes in Pairs Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2->3->4, you should ...

    TZLLOG 評論0 收藏0
  • leetcode24 Swap Nodes in Pairs 交換鏈表中相鄰兩個節點

    摘要:題目要求翻譯過來就是將鏈表中相鄰兩個節點交換順序,并返回最終的頭節點。思路這題的核心解題思路在于如何不占用額外的存儲空間,就改變節點之間的關系。 題目要求 Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2->3->4, you should r...

    GT 評論0 收藏0
  • leetcode 24 Swap Nodes in Pairs

    摘要:最后返回頭節點。同時題目要求只能占用常數空間,并且不能改變節點的值,改變的是節點本身的位置。翻轉是以兩個節點為單位的,我們新聲明一個節點表示當前操作到的位置。每次操作結束,將指針后移兩個節點即可。執行操作前要確定操作的兩個節點不為空。 題目詳情 Given a linked list, swap every two adjacent nodes and return its head....

    heartFollower 評論0 收藏0
  • 【LC總結】翻轉鏈表 Swap in Pairs, Reverse in k-Group, Reve

    摘要:注意這里,只要走到第位 Swap Nodes in Pairs For example,Given 1->2->3->4, you should return the list as 2->1->4->3. Solution public class Solution { public ListNode swapPairs(ListNode head) { if...

    Steve_Wang_ 評論0 收藏0

發表評論

0條評論

EscapedDog

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<