【一天一道Leetcode】合并兩個有序鏈表

本篇推文共計2000個字,閱讀時間約3分鐘。
01
題目描述

題目描述:
將兩個升序鏈表合并為一個新的升序鏈表并返回。
新鏈表是通過拼接兩個鏈表的所有節(jié)點組成的。
如下面的示例:
輸入:l1 = [1,2,4], l2 = [1,3,4]
輸出:[1,1,2,3,4,4]
輸入:l1 = [], l2 = []
輸出:[]
輸入:l1 = [], l2 = [0]
輸出:[0]提示:
1. 兩個鏈表的節(jié)點數(shù)目范圍是[0, 50]
2. -100 <= Node.val <= 100
3. l1和l2均按非遞減順序排列
02
方法和思路
我們注意題目中的條件,
這里的話,我想到方法是定義一個空的列表,
分別將兩個鏈表中的值加入到列表中。
兩個鏈表中的值全部加入到列表中之后,
對列表進(jìn)行排序。
因為此時為列表,我們再定義一個新鏈表,
將列表的值依次加入到鏈表中。

我們用代碼表示此題的解法如下:
class Solution:
def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
l=[]
while l1:
l.append(l1.val)
l1=l1.next
while l2:
l.append(l2.val)
l2=l2.next
l.sort()
newlist=ListNode(0)
res=newlist
for i in l:
node=ListNode(i)
res.next = node
res = res.next
return newlist.next
【年終總結(jié)】你好2021,再見2020。

【快速寫好畢業(yè)論文】你不得不知曉的七個常用文獻(xiàn)搜索平臺

【秋招紀(jì)實錄】一篇特別正經(jīng)的【騰訊】求職經(jīng)驗分享

【一天一道Leetcode】回文字符串-最少分割次數(shù)

【一天一道Leetcode】最長公共前綴

【一天一道Leetcode】套信封問題
你與世界
只差一個
公眾號
評論
圖片
表情

