作者:看那个码农
公众号:看那个码农
本题来源于「LeetCode系列」21. 合并两个有序链表
题目描述:
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例 :
输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]
示例 2:
输入:l1 = [], l2 = []
输出:[]
示例 3:
输入:l1 = [], l2 = [0]
输出:[0]
提示:
- 两个链表的节点数目范围是 [0, 50]
- -100 <= Node.val <= 100
- l1 和 l2 均按 非递减顺序 排列
代码分析
这里的话,我想到方法是
-
定义一个空的列表,分别将两个链表中的值加入到列表中
-
两个链表中的值全部加入到列表中之后
-
对列表进行排序
-
因为此时为列表,我们再定义一个新链表
-
将列表的值依次加入到链表中
所以我们的代码为
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
如果你觉得这篇内容对你有帮助的话:
1、点赞支持下吧,让更多的人也能看到这篇内容
2、关注公众号:看那个码农,我们一起学习一起进步。
本文正在参与「掘金 2021 春招闯关活动」, 点击查看 活动详情