题解 | #合并k个已排序的链表#

合并k个已排序的链表

https://www.nowcoder.com/practice/65cfde9e5b9b4cf2b6bafa5f3ef33fa6

# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param lists ListNode类一维数组 
# @return ListNode类
#
class Solution:
    def listUpdate(self,node:ListNode,lists: List[ListNode]):
        lists.remove(node)
        if(node.next!=None):
            lists.append(node.next)

    def mergeKLists(self , lists: List[ListNode]) -> ListNode:
        # write code here    
        lists = [node for node in lists if node != None]
        k = len(lists)
        if(k == 0):
            return None
        if(k==1): 
            return lists[0]
        
        lists =sorted(lists,key= lambda x: x.val)
        start = lists[0]
        res = start
        self.listUpdate(start,lists)
        cur = min(lists,key= lambda x: x.val)
        while(cur!=None):
            res.next = ListNode(cur.val)
            res = res.next
            self.listUpdate(cur,lists)
            if(len(lists) == 0):
                break
            cur = min(lists,key= lambda x: x.val)
            
        return start

钻牛角尖算法,直接把lists更新然后找最小的接起来,脑残算法,感谢python

全部评论

相关推荐

程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务