24 leetcode - Merge k Sorted Lists
来源:互联网 发布:java物联网待遇 编辑:程序博客网 时间:2024/05/23 14:02
#!/usr/bin/python# -*- coding: utf-8 -*-'''英文:Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.中文:合并k个有序链表'''# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = None#如果新建节点的话,在字典中存储个数,而不是存储节点class Solution(object): def mergeKLists(self, lists): """ :type lists: List[ListNode] :rtype: ListNode """ #将空的去掉 index = 0 for val in lists: if val: lists[index] = val index += 1 lists = lists[:index] if not lists: return [] #将所有节点遍历一次,存入字典中 d = {} for i in range(len(lists)): node = lists[i] while node != None: if d.has_key(node.val): d[node.val].append(node) else: d[node.val] = [node] node = node.next #将键值排序,从小到大从字典中取值 l = d.keys() l.sort() start = node = d[l[0]].pop(0) for i in l: for j in d[i]: start.next = j start = start.next start.next = None return nodeif __name__ == "__main__": s = Solution() s.mergeKLists([[],[]])
0 0
- 24 leetcode - Merge k Sorted Lists
- LeetCode: Merge k Sorted Lists
- LeetCode Merge k Sorted Lists
- LeetCode: Merge k Sorted Lists
- [Leetcode] Merge k Sorted Lists
- [Leetcode] Merge k Sorted Lists
- [Leetcode] Merge K sorted lists
- [LeetCode]Merge k Sorted Lists
- [LeetCode] Merge k Sorted Lists
- LeetCode-Merge k Sorted Lists
- LeetCode: Merge k Sorted Lists
- LeetCode - Merge k Sorted Lists
- LeetCode | Merge k Sorted Lists
- 【leetcode】Merge k Sorted Lists
- Leetcode: Merge k Sorted Lists
- <Leetcode>Merge k Sorted Lists
- [LeetCode] Merge K sorted lists
- [LeetCode] Merge k Sorted Lists
- 那些有趣的人和事
- JAVA面试-基础加强与巩固:反射、注解、泛型等
- 关于eyelike-Master的理解
- 小距离监听ListView或者ScrollView上下滑动
- TimeZone以及时区有关的操作Date/Calendar/SimpleDateFormat
- 24 leetcode - Merge k Sorted Lists
- float左右,中间自适应,和一些tips
- unity 单个树木创建
- 标签
- 分布式架构的演进
- 使用谷歌官annotation包的时候出现错误
- 更换用户名登录共享文件夹
- range与xrange
- [Android]取消GridView点击item时的颜色(我的手机点击后是橙黄色)