附上非递归:vector保存中序遍历的结果
bool leafSimilar(TreeNode* root1, TreeNode* root2) {
if(root1==NULL||root2==NULL)
return false;
// bre(root1,root2);
vector<int> s1;
vector<int> s2;
order(root1,s1);
order(root2,s2);
if(s2.size()!=s1.size())
return false;
for(int i = 0;i<s1.size();i++){
if(s1[i]!=s2[i])
return false;
}
return true;
}
void order(TreeNode* root,vector<int> &num){
if(root==NULL){
return;
}
if(root->left==NULL&&root->right==NULL)
{
num.push_back(root->val);
}
order(root->left,num);
order(root->right,num);
}