美文网首页
21.leetcode题目讲解(Python):合并两个有序链表

21.leetcode题目讲解(Python):合并两个有序链表

作者: 夏山闻汐 | 来源:发表于2018-09-29 11:33 被阅读101次

题目如下:


题目

这道题比较简单,需要注意的是如果输入有空链表,那么直接返回非空链表。如果都为空链表那么返回空。思路为将两个链表都装入到一个list中,通过sorted进行排序,然后根据排序后的list返回新的链表,参考代码如下:

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None


class Solution:
    def mergeTwoLists(self, l1, l2):
        """
        :type l1: ListNode
        :type l2: ListNode
        :rtype: ListNode
        """
        if l1 is None and l2 is None:
            return None
        elif l1 is not None and l2 is None:
            return l1
        elif l2 is not None and l1 is None:
            return l2

        l = []
        while l1 is not None:
            l.append(l1.val)
            l1 = l1.next
        while l2 is not None:
            l.append(l2.val)
            l2 = l2.next

        l = sorted(l)
        new_l = ListNode(l[0])
        head_l = new_l
        for i in range(1,len(l)):
            new_l.next = ListNode(l[i])
            new_l = new_l.next
        new_l.next = None
        return head_l

ps:如果您有好的建议,欢迎交流 :-D,也欢迎访问我的个人博客:tundrazone.com

其他题目:
leetcode题目答案讲解汇总(Python版 持续更新)

源码地址:
https://github.com/jediL/LeetCodeByPython

相关文章

  • 21.leetcode题目讲解(Python):合并两个有序链表

    题目如下: 这道题比较简单,需要注意的是如果输入有空链表,那么直接返回非空链表。如果都为空链表那么返回空。思路为将...

  • 链表排序

    1. 第一个题目 合并两个有序链表 认真阅读题目 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定...

  • LeetCode-21-合并两个有序链表

    LeetCode-21-合并两个有序链表 题目 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的...

  • LeetCode-21 合并两个有序链表

    题目:21. 合并两个有序链表 难度:简单 分类:链表 解决方案:链表的遍历 今天我们学习第21题合并两个有序链表...

  • Swift 合并两个有序链表 - LeetCode

    题目: 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组...

  • Swift - LeetCode - 合并两个有序链表

    题目 合并两个有序链表 问题: 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节...

  • 关于链表一些有趣的东西

    今天刷题的时候遇见了这个问题 题目出自leetcode 21:合并两个有序链表 将两个有序链表合并为一个新的有序...

  • leecode刷题(23)-- 合并两个有序链表

    leecode刷题(23)-- 合并两个有序链表 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新...

  • 合并单链表

    合并两个有序链表非递归实现 合并两个有序链表递归实现

  • leetcode 题号#21 合并两个有序链表

    查看题目详情可点击此处。 题目 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节...

网友评论

      本文标题:21.leetcode题目讲解(Python):合并两个有序链表

      本文链接:https://www.haomeiwen.com/subject/nwpvoftx.html