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

合并k个已排序的链表

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

import java.util.ArrayList;
import java.util.Collections;

public class FiveMergeKLists {
    public ListNode mergeKLists(ArrayList<ListNode> lists) {

                //如果lists为空
        if (lists.isEmpty()){
            return null;
        }
                
                //创建新的list依次遍历lists中的ListNode中的元素
        ArrayList<Integer> list = new ArrayList<>();

        for (int i = 0; i < lists.size(); i++) {
            ListNode node = lists.get(i);
            while (node != null){
                list.add(node.val);
                node = node.next;
            }
        }

                //排序
        Collections.sort(list);
                //如果排序后为空
        if (list.isEmpty()){
            return null;
        }

        //list转换为链表
        ListNode newHead = new ListNode(list.get(0));
        ListNode cur = newHead;
        for (int i = 1; i < list.size(); i++) {
            cur.next = new ListNode(list.get(i));
            cur = cur.next;
        }

        return newHead;
    }
}        
Java语言求解
全部评论

相关推荐

2024-12-21 01:36
电子科技大学 Java
牛客850385388号:员工福利查看图片
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务