题目描述
给你 root1 和 root2 这两棵二叉搜索树。请你返回一个列表,其中包含 两棵树 中的所有整数并按 升序 排序。
示例 1:
输入: root1 = [2,1,4], root2 = [1,0,3]
输出: [0,1,1,2,3,4]
示例 2:
输入: root1 = [1,null,8], root2 = [8,1]
输出: [1,1,8,8]
代码
var getAllElements = function(root1, root2) {
let lnums = [], rnums = [];
getResult(root1, lnums);
getResult(root2, rnums);
let ret = [];
let p1 = 0, p2 = 0;
while(p1 < lnums.length || p2 < rnums.length) {
if((p2 >= rnums.length) || (p1 < lnums.length && lnums[p1] <= rnums[p2])){
ret.push(lnums[p1++]);
}else{
ret.push(rnums[p2++]);
}
}
return ret;
};
var getResult = function(root, arr) {
if(root == null) return ;
getResult(root.left, arr);
arr.push(root.val);
getResult(root.right, arr);
return ;
}