Skip to content

Commit 19a4f9e

Browse files
authored
Improved task 100.
1 parent 41ae2fb commit 19a4f9e

File tree

2 files changed

+22
-16
lines changed

2 files changed

+22
-16
lines changed

src/main/java/g0001_0100/s0100_same_tree/Solution.java

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,23 +21,12 @@
2121
* }
2222
*/
2323
public class Solution {
24-
private boolean trav(TreeNode n, TreeNode m) {
25-
if (n != null && m != null) {
26-
if (n.val != m.val) {
27-
return false;
28-
}
29-
return (trav(n.left, m.left) && trav(n.right, m.right));
30-
} else {
31-
return n == null && m == null;
32-
}
33-
}
34-
3524
public boolean isSameTree(TreeNode p, TreeNode q) {
36-
if (p == null && q == null) {
37-
return true;
38-
} else if (p == null || q == null) {
39-
return false;
25+
if (p == null || q == null) {
26+
return p == null && q == null;
4027
}
41-
return trav(p, q);
28+
boolean b1 = isSameTree(p.left, q.left);
29+
boolean b2 = isSameTree(p.right, q.right);
30+
return p.val == q.val && b1 && b2;
4231
}
4332
}

src/test/java/g0001_0100/s0100_same_tree/SolutionTest.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,21 @@ void isSameTree3() {
2929
TreeNode q = TreeUtils.constructBinaryTree(Arrays.asList(1, 1, 2));
3030
assertThat(new Solution().isSameTree(p, q), equalTo(false));
3131
}
32+
33+
@Test
34+
void isSameTree4() {
35+
TreeNode p = TreeUtils.constructBinaryTree(Arrays.asList(1, 2, 1));
36+
assertThat(new Solution().isSameTree(p, null), equalTo(false));
37+
}
38+
39+
@Test
40+
void isSameTree5() {
41+
TreeNode q = TreeUtils.constructBinaryTree(Arrays.asList(1, 1, 2));
42+
assertThat(new Solution().isSameTree(null, q), equalTo(false));
43+
}
44+
45+
@Test
46+
void isSameTree6() {
47+
assertThat(new Solution().isSameTree(null, null), equalTo(true));
48+
}
3249
}

0 commit comments

Comments
 (0)