Input: intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]
Output: [[1,2],[3,10],[12,16]]
Explanation: Because the new interval [4,8] overlaps with [3,5],[6,7],[8,10].
classSolution {publicList<Interval> insert(List<Interval> intervals,Interval newInterval) {if (newInterval ==null) {return intervals; }List<Interval> res =newArrayList<>();int i =0;int len =intervals.size();while (i < len &&intervals.get(i).end<newInterval.start) {res.add(intervals.get(i++)); }while (i < len &&intervals.get(i).start<=newInterval.end) {newInterval.start=Math.min(intervals.get(i).start,newInterval.start);newInterval.end=Math.max(intervals.get(i).end,newInterval.end); i++; }res.add(newInterval);while (i < len) {res.add(intervals.get(i++)); }return res; }}