- 对于关于数组的内容可以先考虑排序
- 然后特点在于这个题更新List中的值,这是面向对象与引用很好的解释
- 对于对象的引用我们的操作可以直接操作对应的堆的内存中的数据进行修改。
- @author jhc
public class Solution1 {
public static List<Interval> merge(List<Interval> intervals){
if(intervals == null) return null;
if(intervals.size() < 2 ) return intervals;
Collections.sort(intervals,new Comparator<Interval>(){
public int compare(Interval o1,Interval o2){
return o1.start - o2.start;
}
});
List<Interval> result = new ArrayList<Interval>();
Interval prev = null;
for(Interval item : intervals){
if(prev == null || prev.end < item.start){
result.add(item);//重点!
prev = item;//重点
}else if(prev.end < item.end){
prev.end = item.end;
}
}
return result;
}