class Solution {
public:
vector<vector<int>> insert(vector<vector<int>>& a, vector<int>& b) {
vector<vector<int>> res;
int k = 0;
while (k < a.size() && b[0] > a[k][1]) res.push_back(a[k ++]);
if (k < a.size()) {
b[0] = min(b[0], a[k][0]);
while (k < a.size() && b[1] >= a[k][0]) b[1] = max(b[1], a[k ++][1]); //注意这里也要加上k<a.size()因为上面的只是判断第一次的k,当k后移了,就不进行判断了,有可能回越界
}
res.push_back(b); // 不要放在上面的if 判断里面,因为当原区间组,如果是空的话,就不会把新的区间加入了,会返回空区间
while (k < a.size()) res.push_back(a[k ++]);
return res;
}
};