Skip to content

Commit 82ed818

Browse files
authored
Merge pull request #82 from InflixOP/patch1
Create #872. Leaf-Similar Trees.cpp
2 parents 216f492 + 472de8a commit 82ed818

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

#872. Leaf-Similar Trees.cpp

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* struct TreeNode {
4+
* int val;
5+
* TreeNode *left;
6+
* TreeNode *right;
7+
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
8+
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
9+
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
10+
* };
11+
*/
12+
class Solution {
13+
public:
14+
void dfs(TreeNode* root1,vector<int>& ans){
15+
if(!root1->left&&!root1->right)
16+
ans.push_back(root1->val);
17+
else{
18+
if(root1->left)
19+
dfs(root1->left,ans);
20+
if(root1->right)
21+
dfs(root1->right,ans);
22+
}
23+
}
24+
bool leafSimilar(TreeNode* root1, TreeNode* root2) {
25+
vector<int> v1;
26+
vector<int> v2;
27+
dfs(root1,v1);
28+
dfs(root2,v2);
29+
if(v1.size()!=v2.size())
30+
return false;
31+
for(int i=0;i<v1.size();i++){
32+
if(v1[i]!=v2[i])
33+
return false;
34+
}
35+
return true;
36+
}
37+
};

0 commit comments

Comments
 (0)