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

合并k个已排序的链表

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

import java.util.*;

/*
 * public class ListNode {
 *   int val;
 *   ListNode next = null;
 *   public ListNode(int val) {
 *     this.val = val;
 *   }
 * }
 */

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param lists ListNode类ArrayList 
     * @return ListNode类
     */
    public ListNode mergeKLists (ArrayList<ListNode> lists) {
        // write code here
        if(lists.size() == 0){
            return null;
        }
        ListNode resultListNode = lists.get(0);
        for(int i = 1;i<lists.size();i++){
            resultListNode = mergeListNode(resultListNode,lists.get(i));
        }

        return resultListNode;
    }

    public ListNode mergeListNode (ListNode lists1,ListNode lists2) {
        if(lists1 == null || lists2 == null){
            return lists1 == null?lists2:lists1;
        }

        if(lists1.val<=lists2.val ){
            lists1.next = mergeListNode(lists1.next,lists2);
            return lists1;
        }else{
             lists2.next = mergeListNode(lists1,lists2.next);
            return lists2;
        }
    }
}

全部评论

相关推荐

10-29 15:51
嘉应学院 Java
后端转测开第一人:你把简历的学历改成北京交通大学 去海投1000份发现基本还是没面试
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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