Skip to content

Commit 479f409

Browse files
authored
Create 872. Leaf-Similar Trees.cpp
1 parent 73cd885 commit 479f409

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

872. Leaf-Similar Trees.cpp

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
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+
13+
class Solution {
14+
public:
15+
bool leafSimilar(TreeNode* root1, TreeNode* root2) {
16+
vector<int> leaves1, leaves2;
17+
getLeavesDFS(root1, leaves1);
18+
getLeavesDFS(root2, leaves2);
19+
20+
return leaves1 == leaves2;
21+
}
22+
23+
private:
24+
void getLeavesDFS(TreeNode* root, vector<int>& leaves) {
25+
if (!root) {
26+
return;
27+
}
28+
if (!root->left && !root->right) {
29+
leaves.push_back(root->val);
30+
}
31+
32+
getLeavesDFS(root->left, leaves);
33+
getLeavesDFS(root->right, leaves);
34+
}
35+
};

0 commit comments

Comments
 (0)