合并K个排序链表

作者: _阿南_ | 来源:发表于2020-04-26 10:41 被阅读0次

题目:

合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。
示例:
输入:
[
  1->4->5,
  1->3->4,
  2->6
]
输出: 1->1->2->3->4->4->5->6

题目的理解:

每一个值比较,然后最小的值添加到链表上。

python实现

class Solution:
    def mergeKLists(self, lists: List[ListNode]) -> ListNode:
        resultFirst = ListNode(0)
        result = resultFirst

        lists = list(filter(lambda x: x is not None, lists))

        while 0 < len(lists):
            minNode = min(lists, key=lambda x: x.val)
            result.next = ListNode(minNode.val)
            result = result.next

            lists.remove(minNode)
            if minNode.next is not None:
                lists.append(minNode.next)

        return resultFirst.next

有一个小坑,不能在提交的时候添加

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

不然在提交的时候就不显示结果了。

想看最优解法移步此处

提交

ok

成绩不是很喜人啊,复杂度O(n + n*n)

// END 不要给自己或别人打标签,也不要被标签吓到

相关文章

  • leecode刷题(27)-- 合并k个排序链表

    leecode刷题(27)-- 合并k个排序链表 合并k个排序链表 合并 k 个排序链表,返回合并后的排序链表。请...

  • ARTS第五周2020620

    Algorithm 合并K个排序链表 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例...

  • 合并K个排序链表【LeetCode:23】

    题目: 合并K个排序链表 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: ...

  • Swift - LeetCode - 合并K个排序链表

    题目 合并K个排序链表 问题: 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 解题思路:...

  • LeetCode:合并K个排序链表

    合并K个排序链表(困难) 题目叙述: 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例...

  • LeetCode-23-合并K个有序链表

    LeetCode-23-合并K个有序链表 题目 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂...

  • 23. 合并K个排序链表

    23.合并K个排序链表 合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入:[ 1-...

  • 【算法】合并K个排序链表

    合并K个排序链表 描述 合并 k 个排序链表,返回合并后的排序链表。 解题思路 1.将所有节点添加到数组中,对数组...

  • LeetCode 专题 :分治算法

    LeetCode 第 23 题:归并多个有序链表 传送门:23. 合并K个排序链表。 合并 k 个排序链表,返回合...

  • 【LeetCode】23.合并K个排序链表

    题目描述 23.合并K个排序链表 合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 题目解析 方...

网友评论

    本文标题:合并K个排序链表

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