注意{{0,2},{1,5},{3,7}};不能只顾intervals的前后两个,前一个应该是融合之后的
/**
* Definition for an interval.
* public class Interval {
* int start;
* int end;
* Interval() { start = 0; end = 0; }
* Interval(int s, int e) { start = s; end = e; }
* }
*/
class Solution {
public List<Interval> merge(List<Interval> intervals) {
LinkedList<Interval> l=new LinkedList<Interval>();
if(intervals.size()<=1)
return intervals;
intervals.sort((i1,i2)->Integer.compare(i1.start,i2.start));
Interval i1=intervals.get(0);
l.add(i1);
for(int i=1;i<intervals.size();i++){
Interval i2=intervals.get(i);
if(i1.end<i2.start){
l.add(i2);
}
else if(i1.end>=i2.start&&i1.end<=i2.end){
l.remove(i1);
Interval j=new Interval(i1.start,i2.end);
l.add(j);
}
i1=l.getLast();
}
return l;
}
}