|
1 | 1 | packagecom.fishercoder; |
2 | 2 |
|
3 | 3 | importcom.fishercoder.common.classes.TreeNode; |
| 4 | +importcom.fishercoder.common.utils.TreeUtils; |
4 | 5 | importcom.fishercoder.solutions._572; |
5 | 6 | importorg.junit.BeforeClass; |
6 | 7 | importorg.junit.Test; |
7 | 8 |
|
| 9 | +importjava.util.Arrays; |
| 10 | + |
8 | 11 | importstaticorg.junit.Assert.assertEquals; |
9 | 12 |
|
10 | | -/** |
11 | | - * Created by fishercoder on 5/6/17. |
12 | | - */ |
13 | 13 | publicclass_572Test { |
14 | 14 | privatestatic_572.Solution1solution1; |
| 15 | +privatestatic_572.Solution2solution2; |
15 | 16 | privatestaticbooleanexpected; |
16 | | -privatestaticbooleanactual; |
| 17 | +privatestaticTreeNoderoot; |
| 18 | +privatestaticTreeNodesubRoot; |
17 | 19 |
|
18 | 20 | @BeforeClass |
19 | 21 | publicstaticvoidsetup() { |
20 | 22 | solution1 =new_572.Solution1(); |
| 23 | +solution2 =new_572.Solution2(); |
21 | 24 | } |
22 | 25 |
|
23 | 26 | @Test |
24 | 27 | publicvoidtest1() { |
25 | | -TreeNodes =newTreeNode(3); |
26 | | -s.left =newTreeNode(4); |
27 | | -s.right =newTreeNode(5); |
28 | | -s.left.left =newTreeNode(1); |
29 | | -s.left.right =newTreeNode(2); |
30 | | -s.left.right.left =newTreeNode(0); |
31 | | - |
32 | | -TreeNodet =newTreeNode(4); |
33 | | -t.left =newTreeNode(1); |
34 | | -t.right =newTreeNode(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)); |
38 | 34 | } |
39 | 35 |
|
40 | 36 | @Test |
41 | 37 | publicvoidtest2() { |
42 | | -TreeNodes =newTreeNode(3); |
43 | | -s.left =newTreeNode(4); |
44 | | -s.right =newTreeNode(5); |
45 | | -s.left.left =newTreeNode(1); |
46 | | -s.left.right =newTreeNode(2); |
47 | | - |
48 | | -TreeNodet =newTreeNode(4); |
49 | | -t.left =newTreeNode(1); |
50 | | -t.right =newTreeNode(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)); |
54 | 44 | } |
| 45 | + |
55 | 46 | } |