题目:
题解:
- 使用dfs,分别两棵树的所有叶子节点存放在两个vector中,最后判断两个vector是否相等就好了。
代码如下:
class Solution {
public:
bool leafSimilar(TreeNode* root1, TreeNode* root2) {
vector<int> nums1,nums2;
dfs(root1,nums1);
dfs(root2,nums2);
return nums1==nums2;
}
void dfs(TreeNode* root,vector<int>& nums){
if(!root)return;
if(!root->left&&!root->right){
nums.push_back(root->val);
return;
}
dfs(root->left,nums);
dfs(root->right,nums);
}
};