91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

?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

牟定县| 仁布县| 乐安县| 乌兰浩特市| 泗阳县| 双鸭山市| 呼玛县| 屯留县| 名山县| 丹棱县| 丽水市| 曲靖市| 嘉定区| 南宁市| 石景山区| 彝良县| 黔西| 潮州市| 荣昌县| 富民县| 兴隆县| 江都市| 进贤县| 凤台县| 寿光市| 石渠县| 田阳县| 乐业县| 贵阳市| 五莲县| 齐齐哈尔市| 大丰市| 宁夏| 东港市| 家居| 仲巴县| 通州市| 永善县| 瑞安市| 襄樊市| 阿图什市|