前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >leetcode: 23. Merge k Sorted Lists

leetcode: 23. Merge k Sorted Lists

作者头像
JNingWei
发布2018-09-28 14:16:48
5270
发布2018-09-28 14:16:48
举报
文章被收录于专栏:JNing的专栏JNing的专栏

Problem

代码语言:javascript
复制
# Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.

AC

代码语言:javascript
复制
# TODO: Runtime Error in python3, while ac in python2


class ListNode():
    def __init__(self, x):
        self.val = x
        self.next = None

class Solution():
    def mergeKLists(self, x):
        if not x:
            return
        cur = dummy = ListNode(0)
        import heapq
        minHeap = [(l.val, l) for l in x if l]
        heapq.heapify(minHeap)
        while minHeap:
            cur.next = heapq.heappop(minHeap)[1]
            cur = cur.next
            if cur.next:
                heapq.heappush(minHeap, (cur.next.val, cur.next))
        return dummy.next


if __name__ == "__main__":
    list1, list1.next = ListNode(2), ListNode(4)
    list2, list2.next = ListNode(1), ListNode(3)
    list3 = ListNode(7)
    result = Solution().mergeKLists([list1, list2, list3])
    assert '{0}->{1}->{2}->{3}->{4}'.format(result.val, result.next.val, result.next.next.val,
                                            result.next.next.next.val, result.next.next.next.next.val) \
           == '1->2->3->4->7'

Error

但是在LeetCode提交时,如果选择 python3 解释器会报错:

这里写图片描述
这里写图片描述

具体原因见我的另一篇博客:python3 调用heapq库 时遭遇 “TypeError: unorderable types”

解决方案:

临时换个解释器就行。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年11月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

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