方法:DFS
遇到问题:1、leaf1==leaf2重载运算符判断两边容器值是否相等
2、void leaf(TreeNode* root,vector
/*** 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> leaf1;vector<int> leaf2;leaf(root1,leaf1);leaf(root2,leaf2);return leaf1==leaf2;}void leaf(TreeNode* root,vector<int>&leafnum){if(root->left==NULL&&root->right==NULL){leafnum.push_back(root->val);cout<<root->val;}if(root->left){leaf(root->left,leafnum);}if(root->right){leaf(root->right,leafnum);}}};
