【LeetCode 簡單題】7-用Python合併兩個有序連結串列
阿新 • • 發佈:2018-12-09
宣告:
今天是第7道題,將兩個有序連結串列合併為一個新的有序連結串列並返回,新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。以下所有程式碼經過樓主驗證都能在LeetCode上執行成功,程式碼也是借鑑別人的,在文末會附上參考的部落格連結,如果侵犯了博主的相關權益,請聯絡我刪除
(手動比心ღ( ´・ᴗ・` ))
正文
題目:將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。
示例:
輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4
解法1。利用迭代的思路。首先判斷輸入是否非空,若其中1個為空則返回另一個。再比較連結串列的元素大小,返回較小的那個,然後不斷迭代,呼叫自身,程式碼如下。
# V 1.0,能提交 class Solution: def mergeTwoLists(self, l1, l2): if l1 is None: return l2 elif l2 is None: return l1 listMerge = None if l1.val < l2.val: listMerge = l1 listMerge.next = self.mergeTwoLists(l1.next,l2) else: listMerge = l2 listMerge.next = self.mergeTwoLists(l2.next,l1) return listMerge
解法2。用while迴圈也可以做。