LeetCode #21 Merge Two Sorted Lists - 刷題之旅
1 題目描述
合併兩個有序的鍊錶,並且返回一個新的鍊錶。新的鍊錶是由兩個鍊錶的節點組成的。
2 解法
跟 leetcode-2-add-two-numbers 很類似,因為它涉及到多個 listNode 的操作,並且將操作結果合併為一個,因此我們可以使用 dummy_head 來幫助我們串接結果。因為他是排序,所以要比較兩個數字的大小,但是我們最怕的是在取listNode的值時發現他是None而導致錯誤,因為題目說數字範圍是[0, 50] 因此我們取 100 當作最大值,因此我們可以使用 digit1 = list1.val if list1 else 100
的方式,儘管遇到 none 仍然可以繼續執行迴圈,直到兩個 list1 跟 list2 都觸底,以避免 None 的問題。
1 | class ListNode: |
3 總結
這題很簡單,如果有處理過 Medium 等級的 leetcode-2-add-two-numbers會覺得這個簡單很多!這題五分鐘左右就寫出來了!會運用到的概念就是 dummy_head 以及 取 value 的使用。
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Shannon's Blog 🐟 技術 | 生活 | 旅行! 如果你覺得我的文章有幫助,希望你可以到我的 github 給我一個 star ⭐️ Shannon Blog Repo
評論