872. 叶子相似的树
题目链接:872. 叶子相似的树
代码如下:
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
* };
*/
class Solution
{
public:
bool leafSimilar(TreeNode* root1, TreeNode* root2)
{
vector<int> leaves1;
vector<int> leaves2;
preorder(root1,leaves1);
preorder(root2,leaves2);
if(leaves1==leaves2) {return true;}
return false;
}
private:
void preorder(TreeNode* root,vector<int>& leaves)
{
if(root==nullptr) {return;}
if(root->left==nullptr&&root->right==nullptr)
{
leaves.push_back(root->val);
}
if(root->left) {preorder(root->left,leaves);}
if(root->right) {preorder(root->right,leaves);}
}
};