前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【一天一道Leetcode】合并两个有序链表

【一天一道Leetcode】合并两个有序链表

作者头像
潘永斌
发布2021-04-20 15:51:53
2150
发布2021-04-20 15:51:53
举报
文章被收录于专栏:看那个码农看那个码农

01

题目描述

题目描述:

将两个升序链表合并为一个新的升序链表并返回。

新链表是通过拼接两个链表的所有节点组成的。

如下面的示例:

代码语言:javascript
复制
输入: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

方法和思路

我们注意题目中的条件,

这里的话,我想到方法是定义一个空的列表,

分别将两个链表中的值加入到列表中。

两个链表中的值全部加入到列表中之后,

对列表进行排序。

因为此时为列表,我们再定义一个新链表,

将列表的值依次加入到链表中。

我们用代码表示此题的解法如下:

代码语言:javascript
复制
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-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 看那个码农 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01
  • 02
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档