给你 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 left=[],right=[];
getList(root1,left)
getList(root2,right)
let p1=0,p2=0,result=[];
while(p1<left.length||p2<right.length){
if((p2>=right.length)||(p1<left.length&&left[p1]<=right[p2])){
result.push(left[p1++])
}else{
result.push(right[p2++])
}
}
return result
};
var getList=function(root,list){
if(root===null)return
root.left&&getList(root.left,list)
list.push(root.val)
root.right&&getList(root.right,list)
return
}