题解 | #删除链表中重复的结点#

合并k个已排序的链表

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

只留下几行代码

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
import java.util.*;
public class Solution {
    public ListNode mergeKLists(ArrayList<ListNode> lists) {
        ListNode node = new ListNode(0);
        ListNode res = node;
        //去除空
        LinkedList<ListNode> lists1 = new LinkedList<>();
        for(int i=0;i<lists.size();i++){
            if(lists.get(i)!=null){
                lists1.add(lists.get(i));
            }
        }
        while(lists1.size()>0){
            ListNode temp = lists1.get(0);
            int mark = 0;
            for(int i=1;i<lists1.size();i++){
                if(null == temp&&null!=lists1.get(i)){
                    temp = lists1.get(i);
                    mark = i;
                }else if(null!=lists1.get(i)&&temp.val>lists1.get(i).val){
                    temp = lists1.get(i);
                     mark = i;
                }
            }
            node.next = new ListNode(temp.val);
            node = node.next;
            node.next=null;
            temp = temp.next;
            if(null == temp){
                    lists1.remove(mark);
             }else{
                     lists1.remove(mark);
                     lists1.add(temp);
             }
        }
        return res.next;
        
    }
}
全部评论

相关推荐

深夜焦虑难以入眠:直通终面也很稳了
点赞 评论 收藏
分享
09-16 14:01
井冈山大学 Java
肖先生~:兄弟们,我发的她都点赞了,但是就是不给我微信
秋招被确诊为……
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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