题目链接:https://leetcode-cn.com/problems/all-elements-in-two-binary-search-trees/
题目如下:
class Solution {
public:
vector getAllElements(TreeNode* root1, TreeNode* root2) {
//二叉搜索树的中序遍历是有序的,归并排序可以合并两个有序数组
vector vtr1,vtr2,res;
dfs(root1,vtr1);
dfs(root2,vtr2);
mergesort(vtr1,vtr2,res);
return res;
}
void dfs(TreeNode* root,vector& vtr){//中序,左根右
if(!root) return ;
dfs(root->left,vtr);
vtr.push_back(root->val);
dfs(root->right,vtr);
}
void mergesort(vector& vtr1,vector& vtr2,vector& res){
int m=vtr1.size();
int n=vtr2.size();
int i=0,j=0;
while(i
if(i
if(vtr1[i]
res.push_back(vtr1[i++]);
}else res.push_back(vtr2[j++]);
}
}
};



