Skip to content

Commit 03208e2

Browse files
fix 572
1 parent eee319b commit 03208e2

File tree

2 files changed

+24
-33
lines changed

2 files changed

+24
-33
lines changed

src/main/java/com/fishercoder/solutions/_572.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@ private boolean isSameTree(TreeNode p, TreeNode q) {
4242
}
4343

4444
public static class Solution2 {
45-
public boolean isSubtree(TreeNode s, TreeNode t) {
46-
if (s == null) {
45+
public boolean isSubtree(TreeNode root, TreeNode subRoot) {
46+
if (root == null) {
4747
return false;
4848
}
49-
if (same(s, t)) {
49+
if (same(root, subRoot)) {
5050
return true;
5151
}
52-
return isSubtree(s.left, t) || isSubtree(s.right, t);
52+
return isSubtree(root.left, subRoot) || isSubtree(root.right, subRoot);
5353
}
5454

5555
private boolean same(TreeNode s, TreeNode t) {
Lines changed: 20 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,46 @@
11
package com.fishercoder;
22

33
import com.fishercoder.common.classes.TreeNode;
4+
import com.fishercoder.common.utils.TreeUtils;
45
import com.fishercoder.solutions._572;
56
import org.junit.BeforeClass;
67
import org.junit.Test;
78

9+
import java.util.Arrays;
10+
811
import static org.junit.Assert.assertEquals;
912

10-
/**
11-
* Created by fishercoder on 5/6/17.
12-
*/
1313
public class _572Test {
1414
private static _572.Solution1 solution1;
15+
private static _572.Solution2 solution2;
1516
private static boolean expected;
16-
private static boolean actual;
17+
private static TreeNode root;
18+
private static TreeNode subRoot;
1719

1820
@BeforeClass
1921
public static void setup() {
2022
solution1 = new _572.Solution1();
23+
solution2 = new _572.Solution2();
2124
}
2225

2326
@Test
2427
public void test1() {
25-
TreeNode s = new TreeNode(3);
26-
s.left = new TreeNode(4);
27-
s.right = new TreeNode(5);
28-
s.left.left = new TreeNode(1);
29-
s.left.right = new TreeNode(2);
30-
s.left.right.left = new TreeNode(0);
31-
32-
TreeNode t = new TreeNode(4);
33-
t.left = new TreeNode(1);
34-
t.right = new TreeNode(2);
35-
expected = false;
36-
actual = solution1.isSubtree(s, t);
37-
assertEquals(expected, actual);
28+
root = TreeUtils.constructBinaryTree(Arrays.asList(3, 4, 5, 1, 2));
29+
TreeUtils.printBinaryTree(root);
30+
subRoot = TreeUtils.constructBinaryTree(Arrays.asList(4, 1, 2));
31+
expected = true;
32+
assertEquals(expected, solution1.isSubtree(root, subRoot));
33+
assertEquals(expected, solution2.isSubtree(root, subRoot));
3834
}
3935

4036
@Test
4137
public void test2() {
42-
TreeNode s = new TreeNode(3);
43-
s.left = new TreeNode(4);
44-
s.right = new TreeNode(5);
45-
s.left.left = new TreeNode(1);
46-
s.left.right = new TreeNode(2);
47-
48-
TreeNode t = new TreeNode(4);
49-
t.left = new TreeNode(1);
50-
t.right = new TreeNode(2);
51-
expected = true;
52-
actual = solution1.isSubtree(s, t);
53-
assertEquals(expected, actual);
38+
root = TreeUtils.constructBinaryTree(Arrays.asList(3, 4, 5, 1, 2, null, null, null, null, 0));
39+
TreeUtils.printBinaryTree(root);
40+
subRoot = TreeUtils.constructBinaryTree(Arrays.asList(4, 1, 2));
41+
expected = false;
42+
assertEquals(expected, solution1.isSubtree(root, subRoot));
43+
assertEquals(expected, solution2.isSubtree(root, subRoot));
5444
}
45+
5546
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy