成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

leetcode 24 Swap Nodes in Pairs

heartFollower / 583人閱讀

摘要:最后返回頭節(jié)點(diǎn)。同時(shí)題目要求只能占用常數(shù)空間,并且不能改變節(jié)點(diǎn)的值,改變的是節(jié)點(diǎn)本身的位置。翻轉(zhuǎn)是以?xún)蓚€(gè)節(jié)點(diǎn)為單位的,我們新聲明一個(gè)節(jié)點(diǎn)表示當(dāng)前操作到的位置。每次操作結(jié)束,將指針后移兩個(gè)節(jié)點(diǎn)即可。執(zhí)行操作前要確定操作的兩個(gè)節(jié)點(diǎn)不為空。

題目詳情
Given a linked list, swap every two adjacent nodes and return its head.

題目要求輸入一個(gè)鏈表,我們將相鄰的兩個(gè)節(jié)點(diǎn)的順序翻轉(zhuǎn)。最后返回頭節(jié)點(diǎn)。同時(shí)題目要求只能占用常數(shù)空間,并且不能改變節(jié)點(diǎn)的值,改變的是節(jié)點(diǎn)本身的位置。

例如,
輸入 1->2->3->4, 你應(yīng)該返回的鏈表:2->1->4->3.

想法

要求返回頭節(jié)點(diǎn),因此我們需要新建一個(gè)節(jié)點(diǎn)(dummy)指向頭節(jié)點(diǎn),方便最后返回頭節(jié)點(diǎn)。

翻轉(zhuǎn)是以?xún)蓚€(gè)節(jié)點(diǎn)為單位的,我們新聲明一個(gè)節(jié)點(diǎn)current表示當(dāng)前操作到的位置。每次操作結(jié)束,將current指針后移兩個(gè)節(jié)點(diǎn)即可。

執(zhí)行操作前要確定操作的兩個(gè)節(jié)點(diǎn)不為空。

簡(jiǎn)單畫(huà)了一下翻轉(zhuǎn)的過(guò)程

解法
    public ListNode swapPairs(ListNode head) {
        ListNode dummy = new ListNode(0);
        dummy.next = head;
        ListNode current = dummy;
        
        while(current.next != null && current.next.next != null){
            ListNode first = current.next;
            ListNode second = current.next.next;
            
            first.next = second.next;
            second.next = first;
            current.next = second;
            current = current.next.next;
        }
        
        return dummy.next;
    }

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/68792.html

相關(guān)文章

  • leetcode24 Swap Nodes in Pairs 交換鏈表中相鄰兩個(gè)節(jié)點(diǎn)

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

    GT 評(píng)論0 收藏0
  • [Leetcode] Swap Nodes in Pairs Reverse Nodes in k-

    摘要:三指針?lè)◤?fù)雜度時(shí)間空間思路基本的操作鏈表,見(jiàn)注釋。注意使用頭節(jié)點(diǎn)方便操作頭節(jié)點(diǎn)。翻轉(zhuǎn)后,開(kāi)頭節(jié)點(diǎn)就成了最后一個(gè)節(jié)點(diǎn)。 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 評(píng)論0 收藏0
  • leetcode 部分解答索引(持續(xù)更新~)

    摘要:前言從開(kāi)始寫(xiě)相關(guān)的博客到現(xiàn)在也蠻多篇了。而且當(dāng)時(shí)也沒(méi)有按順序?qū)懍F(xiàn)在翻起來(lái)覺(jué)得蠻亂的??赡艽蠹铱粗卜浅2环奖恪K栽谶@里做個(gè)索引嘻嘻。順序整理更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新 前言 從開(kāi)始寫(xiě)leetcode相關(guān)的博客到現(xiàn)在也蠻多篇了。而且當(dāng)時(shí)也沒(méi)有按順序?qū)憽F(xiàn)在翻起來(lái)覺(jué)得蠻亂的??赡艽蠹铱粗卜浅2环奖恪K栽谶@里做個(gè)索引嘻嘻。 順序整理 1~50 1...

    leo108 評(píng)論0 收藏0
  • [LintCode] Swap Nodes in Pairs

    摘要:指針為,我們選擇的兩個(gè)結(jié)點(diǎn)是和。要注意循環(huán)的邊界條件,這兩個(gè)結(jié)點(diǎn)不能為空。主要思路是先用和兩個(gè)新結(jié)點(diǎn)去保存和兩個(gè)結(jié)點(diǎn)。完成交換之后,連接和,并讓前進(jìn)至此時(shí)的結(jié)點(diǎn)。 Problem Given a linked list, swap every two adjacent nodes and return its head. Example Given 1->2->3->4, you sh...

    EscapedDog 評(píng)論0 收藏0
  • 【LC總結(jié)】翻轉(zhuǎn)鏈表 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_ 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

heartFollower

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<