Skip to content

Commit f2b8ec1

Browse files
authored
Improved task 572
1 parent 3d5f668 commit f2b8ec1

File tree

1 file changed

+15
-15
lines changed
  • src/main/java/g0501_0600/s0572_subtree_of_another_tree

1 file changed

+15
-15
lines changed

src/main/java/g0501_0600/s0572_subtree_of_another_tree/Solution.java

+15-15
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
// #Easy #Depth_First_Search #Tree #Binary_Tree #Hash_Function #String_Matching
44
// #Algorithm_II_Day_7_Breadth_First_Search_Depth_First_Search
5-
// #2022_08_10_Time_1_ms_(100.00%)_Space_47.2_MB_(13.44%)
5+
// #2024_10_11_Time_2_ms_(97.06%)_Space_44.2_MB_(68.85%)
66

77
import com_github_leetcode.TreeNode;
88

@@ -22,29 +22,29 @@
2222
* }
2323
*/
2424
public class Solution {
25-
private boolean isSubtreeFound(TreeNode root, TreeNode subRoot) {
26-
if (root == null && subRoot == null) {
25+
public boolean isSubtree(TreeNode root, TreeNode subRoot) {
26+
if (root == null) {
27+
return false;
28+
}
29+
if (traverse(root, subRoot)) {
2730
return true;
2831
}
29-
if (root == null || subRoot == null) {
32+
return isSubtree(root.left, subRoot) || isSubtree(root.right, subRoot);
33+
}
34+
35+
private boolean traverse(TreeNode root, TreeNode subRoot) {
36+
if (root == null && subRoot != null) {
3037
return false;
3138
}
32-
if (root.val == subRoot.val) {
33-
return isSubtreeFound(root.left, subRoot.left) && isSubtree(root.right, subRoot.right);
34-
} else {
39+
if (root != null && subRoot == null) {
3540
return false;
3641
}
37-
}
38-
39-
public boolean isSubtree(TreeNode root, TreeNode subRoot) {
40-
if (root == null && subRoot == null) {
42+
if (root == null) {
4143
return true;
4244
}
43-
if (root == null || subRoot == null) {
45+
if (root.val != subRoot.val) {
4446
return false;
4547
}
46-
return isSubtreeFound(root, subRoot)
47-
|| isSubtree(root.left, subRoot)
48-
|| isSubtree(root.right, subRoot);
48+
return traverse(root.left, subRoot.left) && traverse(root.right, subRoot.right);
4949
}
5050
}

0 commit comments

Comments
 (0)