[swift] LeetCode 23. Merge k Sorted Lists

栏目: Swift · 发布时间: 7年前

Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.

Example:

Input:[ 1->4->5,   1->3->4,   2->6 ]

Output:1->1->2->3->4->4->5->6

func mergeKLists(_ lists: [ListNode?]) -> ListNode? {
    var i = 0, j = 0, fl = lists.compactMap({$0}), n = fl.count, p: ListNode?
    if n < 1 { return nil }
 
    var arr = Array(repeating: 0, count: 256*256)
    while i < n {
        p = fl[i]; i += 1
        while let p1 = p {
            arr[j] = p1.val
            p = p1.next; j += 1
            if p == nil, i < n {
                p1.next = fl[i]
            }
        }
    }
 
    arr = Array(arr[..<j]).sorted()
 
    i = 0; p = fl[0]
    while let q = p, i < j {
        q.val = arr[i]
        p = q.next; i += 1
    }
 
    return fl[0]
}
[swift] LeetCode 23. Merge k Sorted Lists [swift] LeetCode 23. Merge k Sorted Lists (随着网站访问量的激增,服务器配置只得一再升级以维持网站不“404 Not Found”,所以网站的维护费用也在不断上涨……(目前的阿里云服务器ECS+云数据库RDS+域名购买+七牛云的费用是2200元/年),为了能不放弃该网站,所以我又把打赏链接放上来啦~所有打赏金额都会被记账并投入博客维护中,感谢厚爱,多多关照~)

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

看见未来

看见未来

余晨 / 浙江大学出版社 / 2015-4-15 / 59.00元

【内容简介】 这是互联网群星闪耀的时代,巨人们用最尖端的技术和自成体系的哲学改变着我们的生活,甚至影响了整个世界和人类的历史进程。在这个时代,没有人可以避开互联网的渗透。互联网早已不是简单的技术变革,人们正试图赋予其精神和内涵,以期互联网能更好地为人类所用。 本书中作者 面对面地采访了包括马克·扎克伯格、埃隆·马斯克、杨致远、凯文·凯利、克里斯·安德森、罗伯特·希勒、迈克尔·莫瑞茨、凯......一起来看看 《看见未来》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器