Skip to content

Commit 35127c4

Browse files
authored
Merge pull request #21 from fartem/100_Same_Tree
2023-02-11 update: added "100. Same Tree"
2 parents 17113ca + f49d135 commit 35127c4

File tree

3 files changed

+79
-0
lines changed

3 files changed

+79
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,4 @@ Profile on LeetCode: [fartem](https://leetcode.com/fartem/).
3030
| 83. Remove Duplicates from Sorted List | [Link](https://leetcode.com/problems/remove-duplicates-from-sorted-list/) | [Link](./lib/easy/remove_duplicates_from_sorted_list.dart) |
3131
| 88. Merge Sorted Array | [Link](https://leetcode.com/problems/merge-sorted-array/) | [Link](./lib/easy/merge_sorted_array.dart) |
3232
| 94. Binary Tree Inorder Traversal | [Link](https://leetcode.com/problems/binary-tree-inorder-traversal/) | [Link](./lib/easy/binary_tree_inorder_traversal.dart) |
33+
| 100. Same Tree | [Link](https://leetcode.com/problems/same-tree/) | [Link](./lib/easy/same_tree.dart) |

lib/easy/same_tree.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import '../common/tree_node.dart';
2+
3+
// https://leetcode.com/problems/same-tree/
4+
class Solution {
5+
bool isSameTree(TreeNode? p, TreeNode? q) {
6+
if (p != null && q != null) {
7+
if (p.val != q.val) {
8+
return false;
9+
}
10+
return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
11+
}
12+
return p == null && q == null;
13+
}
14+
}

test/easy/same_tree_test.dart

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
import 'package:leetcode_dart/common/tree_node.dart';
2+
import 'package:leetcode_dart/easy/same_tree.dart';
3+
import 'package:test/test.dart';
4+
5+
void main() {
6+
group(
7+
'Example tests',
8+
() {
9+
final st = Solution();
10+
test(
11+
'true',
12+
() => expect(
13+
true,
14+
st.isSameTree(
15+
TreeNode(
16+
1,
17+
TreeNode(2),
18+
TreeNode(3),
19+
),
20+
TreeNode(
21+
1,
22+
TreeNode(2),
23+
TreeNode(3),
24+
),
25+
),
26+
),
27+
);
28+
test(
29+
'false',
30+
() => expect(
31+
false,
32+
st.isSameTree(
33+
TreeNode(
34+
1,
35+
TreeNode(2),
36+
),
37+
TreeNode(
38+
1,
39+
null,
40+
TreeNode(2),
41+
)),
42+
),
43+
);
44+
test(
45+
'false',
46+
() => expect(
47+
false,
48+
st.isSameTree(
49+
TreeNode(
50+
1,
51+
TreeNode(2),
52+
TreeNode(1),
53+
),
54+
TreeNode(
55+
1,
56+
TreeNode(1),
57+
TreeNode(2),
58+
),
59+
),
60+
),
61+
);
62+
},
63+
);
64+
}

0 commit comments

Comments
 (0)