Leetcode 56 合并区间
涉及到重写compare 记录一下
/**
* 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) {
ArrayList<Interval>arr=new ArrayList<Interval>();
if(intervals.size()<=1) return intervals;
Collections.sort(intervals,new Comparator<Interval>(){
public int compare(Interval i1,Interval i2)
{
return i1.start-i2.start;
}
});
Interval inter=new Interval();//获取第一个
inter.start=intervals.get(0).start;
inter.end=intervals.get(0).end;
for(int i=1;i<intervals.size();i++)
{
if(intervals.get(i).start<=inter.end)
{
if(intervals.get(i).end>inter.end)
{
inter.end=intervals.get(i).end;
}
}
else
{
Interval res=new Interval();//获取第一个
res.start=inter.start;
res.end=inter.end;
arr.add(res);
inter.start=intervals.get(i).start;
inter.end=intervals.get(i).end;
}
}
arr.add(inter);
return arr;
}
}