【一天一道Leetcode】合并两个有序链表
本篇推文共计2000个字,阅读时间约3分钟。
01
题目描述
题目描述:
将两个升序链表合并为一个新的升序链表并返回。
新链表是通过拼接两个链表的所有节点组成的。
如下面的示例:
输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]
输入:l1 = [], l2 = []
输出:[]
输入:l1 = [], l2 = [0]
输出:[0]
提示:
1. 两个链表的节点数目范围是[0, 50]
2. -100 <= Node.val <= 100
3. l1和l2均按非递减顺序排列
02
方法和思路
我们注意题目中的条件,
这里的话,我想到方法是定义一个空的列表,
分别将两个链表中的值加入到列表中。
两个链表中的值全部加入到列表中之后,
对列表进行排序。
因为此时为列表,我们再定义一个新链表,
将列表的值依次加入到链表中。
我们用代码表示此题的解法如下:
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
【年终总结】你好2021,再见2020。
【快速写好毕业论文】你不得不知晓的七个常用文献搜索平台
【秋招纪实录】一篇特别正经的【腾讯】求职经验分享
【一天一道Leetcode】回文字符串-最少分割次数
【一天一道Leetcode】最长公共前缀
【一天一道Leetcode】套信封问题
你与世界
只差一个
公众号
评论