[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元/年),为了能不放弃该网站,所以我又把打赏链接放上来啦~所有打赏金额都会被记账并投入博客维护中,感谢厚爱,多多关照~)

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

查看所有标签

猜你喜欢:

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

C语言编程:一本全面的C语言入门教程(第三版)

C语言编程:一本全面的C语言入门教程(第三版)

(美)Stephen Kochan / 张小潘 / 电子社博文视点资讯有限公司 / 2006年 / 59.00元

本书是极负盛名的C语言入门经典教材,其第一版发行至今已有20年的历史。本书内容详实全面,由浅入深,示例丰富,并在每个章节后面附有部分习题,非常适合读者自学使用。除此之外,《C语言编程》一书对于C语言标准的最新进展、C语言常见开发工具以及管理C语言大型项目等重要方面,也进行了深入浅出的说明。一起来看看 《C语言编程:一本全面的C语言入门教程(第三版)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具