[LeetCode OJ]- Merge Two Sorted Lists

題目要求:合并兩個單向已排序的鏈表l1和l2,返回新的鏈表。

思路:該問題跟合并兩個已排序的數組很像,合并兩個已排序的數組是使用三個指針,從尾向頭掃描,不斷加入到數組中。而單向鏈表不能從尾往頭加,這時候考慮也用兩個“指針”從頭往尾掃,加入到第三個新的鏈表中。

起始狀態:比較l1的頭結點和l2的頭結點的大小,讓較小的(假如為l1)作為新的鏈表的頭節點,然后再遞歸地比較l1.next和l2的“頭節點”(l1.next可以看做一個新的鏈表,它去除了剛剛加入新鏈表的數)直到兩個鏈表中有一個為空鏈表為止。

還需要考慮特殊情況,當l1為空或者l2為空時,剩下的另一個鏈表的數據可以直接追加到新鏈表中,不需要再比較。

最終返回新鏈表的頭節點即可。

代碼如下。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 轉載請注明出處:http://www.lxweimin.com/p/c65d9d753c31 在上一篇博客《數據結構...
    Alent閱讀 3,535評論 4 74
  • B樹的定義 一棵m階的B樹滿足下列條件: 樹中每個結點至多有m個孩子。 除根結點和葉子結點外,其它每個結點至少有m...
    文檔隨手記閱讀 13,355評論 0 25
  • 1 序 2016年6月25日夜,帝都,天下著大雨,拖著行李箱和同學在校門口照了最后一張合照,搬離寢室打車去了提前租...
    RichardJieChen閱讀 5,165評論 0 12
  • //leetcode中還有花樣鏈表題,這里幾個例子,冰山一角 求單鏈表中結點的個數----時間復雜度O(n)這是最...
    暗黑破壞球嘿哈閱讀 1,535評論 0 6
  • 下學后來往的人上上下下,路燈影子蓋住了那位傳單老人。 1和室友經過,談到最近沒有發傳單的人,連補課也無門可走,恰逢...
    sang魚閱讀 257評論 0 1