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

合并k个已排序的链表

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

    public ListNode mergeKLists (ArrayList<ListNode> lists) {
        // write code here
        if (lists == null || lists.isEmpty()) return null;
    
        Iterator<ListNode> it = lists.iterator();
        ListNode res = it.next();
        while (it.hasNext()) res = merge(res, it.next());

        return res;
    }

    private ListNode merge(ListNode a, ListNode b) {
        if (a == null) return b; 
        if (b == null) return a; 

        if(a.val <= b.val) {
            a.next = merge(a.next, b);
            return a;
        } else {
            b.next = merge(b.next, a);
            return b;
        }
    }

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 12:02
ssob上原来真有BOSS啊
硫蛋蛋:这种也是打工的,只不是是给写字楼房东打工
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 15:08
点赞 评论 收藏
分享
Lorn的意义:你这标个前端是想找全栈吗?而且项目确实没什么含金量,技术栈太少了,边沉淀边找吧 现在学院本想就业好一点四年至少得高三模式两年加油吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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