Skip to content

Commit f872aad

Browse files
committed
[week3] solve 572. Subtree of Another Tree
1 parent f636cb1 commit f872aad

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/**
2+
* TC: O(M * N) - M: ๋ฉ”์ธ ํŠธ๋ฆฌ(root)์˜ ๋…ธ๋“œ ์ˆ˜, N: ์„œ๋ธŒ ํŠธ๋ฆฌ(subtree)์˜ ๋…ธ๋“œ ์ˆ˜
3+
* SC: O(N) - N: ๋ฉ”์ธ ํŠธ๋ฆฌ(root)์˜ ๋†’์ด
4+
*/
5+
class Solution {
6+
public boolean isSubtree(TreeNode root, TreeNode subRoot) {
7+
if (root == null) {
8+
return false;
9+
}
10+
if (isSameTree(root, subRoot)) {
11+
return true;
12+
}
13+
return isSubtree(root.left, subRoot) || isSubtree(root.right, subRoot);
14+
}
15+
16+
public boolean isSameTree(TreeNode n1, TreeNode n2) {
17+
if (n1 == null || n2 == null) {
18+
return n1 == n2;
19+
}
20+
if (n1.val != n2.val) {
21+
return false;
22+
}
23+
return isSameTree(n1.left, n2.left) && isSameTree(n1.right, n2.right);
24+
}
25+
}

0 commit comments

Comments
ย (0)