题目描述
给出一个区间的集合,请合并所有重叠的区间。
Java代码
public int[][] merge(int[][] intervals) {
LinkedList<int[]> list = new LinkedList<>();
Arrays.sort(intervals, Comparator.comparingInt(x->x[0]));
for(int i=0;i<intervals.length;i++){
if(list.size()==0 || list.getLast()[1] < intervals[i][0]){
list.add(intervals[i]);
}else{
list.getLast()[1] = Math.max(list.getLast()[1],intervals[i][1]);
}
}
int[][] res = new int[list.size()][2];
int index = 0;
while(!list.isEmpty()){
res[index++] = list.removeFirst();
}
return res;
}