中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

?LeetCode如何解決兩兩交換鏈表中的節點問題

發布時間:2021-12-15 11:21:41 來源:億速云 閱讀:134 作者:小新 欄目:大數據

小編給大家分享一下LeetCode如何解決兩兩交換鏈表中的節點問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!


題意


給定一個鏈表,兩兩交換其中相鄰的節點,并返回交換后的鏈表。
你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。

 

樣例



     
給定               1->2->3->4              , 你應該返回               2->1->4->3              .  
 

題解

遞歸法:  
  • 從鏈表的頭節點 head 開始遞歸。

  • 每次遞歸都負責交換一對節點。由 firstNode 和 secondNode 表示要交換的兩個節點。

  • 下一次遞歸則是傳遞的是下一對需要交換的節點。若鏈表中還有節點,則繼續遞歸。

  • 交換了兩個節點以后,返回 secondNode,因為它是交換后的新頭。

  • 在所有節點交換完成以后,我們返回交換后的頭,實際上是原始鏈表的第二個節點。


 
     
    
class                   Solution {                  
                      public ListNode swapPairs(ListNode head) {                  
                 
                          // If the list has no node or has only one node left.                  
                          if ((head ==                  null) || (head.next ==                  null)) {                  
                              return head;                  
        }                  
                 
                          // Nodes to be swapped                  
        ListNode firstNode = head;                  
        ListNode secondNode = head.next;                  
                 
                          // Swapping                  
        firstNode.next = swapPairs(secondNode.next);                  
        secondNode.next = firstNode;                  
                 
                          // Now the head is the second node                  
                          return secondNode;                  
    }                  
}                          
 
時間復雜度:O(N),其中       NN 指的是鏈表的節點數量。   空間復雜度:O(N)   ,遞歸過程使用的堆棧空間。  

以上是“LeetCode如何解決兩兩交換鏈表中的節點問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南康市| 榆林市| 北碚区| 阜新| 綦江县| 德保县| 富阳市| 马公市| 竹溪县| 汾西县| 潼南县| 出国| 濮阳市| 云阳县| 博乐市| 霍邱县| 营山县| 平凉市| 丹阳市| 汉川市| 石门县| 洪雅县| 浦北县| 丹寨县| 建始县| 连城县| 宜兴市| 德化县| 右玉县| 桓仁| 田东县| 宝山区| 台北市| 隆昌县| 永康市| 东丽区| 镇巴县| 磐石市| 扶绥县| 永宁县| 汪清县|