Merge Intervals
怎么写comparator是要会的
public class Solution { public ArrayList<Interval> merge(ArrayList<Interval> intervals) { if(intervals==null || intervals.size()<2) return intervals; ArrayList<Interval> res = new ArrayList<Interval>(); Collections.sort(intervals, new intervalComparator()); Interval pre= intervals.get(0); for(int i=1; i< intervals.size(); i++){ Interval cur = intervals.get(i); if(cur.start<=pre.end){ Interval merged = new Interval(pre.start, Math.max(pre.end, cur.end)); pre = merged; }else{ res.add(pre); pre = cur; } } res.add(pre); // donnot forget return res; } class intervalComparator implements Comparator<Interval>{ public int compare(Interval i1, Interval i2){ return i1.start-i2.start; } } }