57. Insert Interval

    /*
     * 57. Insert Interval 
     * 12.5 by Mingyang
     * 一个一个比就对了,根本不用比较器
     * newInterval就像一个泡泡一样,一个一个的把其他相同的merge起来
     * 过了这个以后就不会再遇到了,所以要合并掉对方
     */
 public List<Interval> insert(List<Interval> intervals, Interval newInterval) {
        List<Interval> res = new ArrayList<Interval>();
        for (Interval each : intervals) {
            if (each.end < newInterval.start) {
                res.add(each);
            } else if (each.start > newInterval.end) {
                res.add(newInterval);
                newInterval = each;
            } else {
                int nstart = Math.min(each.start, newInterval.start);
                int nend = Math.max(newInterval.end, each.end);
                newInterval = new Interval(nstart, nend);
            }
        }
        res.add(newInterval);
        return res;
    }
原文地址:https://www.cnblogs.com/zmyvszk/p/5470052.html