1. Description
Given two non-empty binary trees s and t, check whether tree t has exactly the same structure and node values with a subtree of s. A subtree of s is a tree consists of a node in s and all of this node's descendants. The tree s could also be considered as a subtree of itself.
2. Runtime Distribution
3. Submission Details
4. Example
Example 1:
Given tree s:
3
/ \
4 5
/ \
1 2
Given tree t:
4
/ \
1 2
Return true, because t has the same structure and node values with a subtree of s.
Example 2:
Given tree s:
3
/ \
4 5
/ \
1 2
/
0
Given tree t:
4
/ \
1 2
Return false.
5. Code
[restabs alignment="osc-tabs-right" responsive="true" icon="true" text="More" seltabcolor="#fdfdfd" seltabheadcolor="#000" tabheadcolor="blue"]
[restab title="Java" active="active"]
public boolean isSubtree(TreeNode s, TreeNode t) {
if (t == null && s == null) {
return true;
} else if (t == null || s == null) {
return false;
}
return isSubtreeRoot(s, t) || isSubtree(s.left, t) || isSubtree(s.right, t);
}
public boolean isSubtreeRoot(TreeNode s, TreeNode t) {
if (t == null && s == null) {
return true;
} else if (t == null || s == null) {
return false;
}
if (t.val == s.val) {
return isSubtreeRoot(s.left, t.left) && isSubtree(s.right, t.right);
}
return false;
}
[/restab]
[/restabs]
6.Test
[restabs alignment="osc-tabs-right" responsive="true" icon="true" text="More" seltabcolor="#fdfdfd" seltabheadcolor="#000" tabheadcolor="blue"]
[restab title="Java" active="active" ]
public class LeetCode0572 {
static class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
}
}
public boolean isSubtree(TreeNode s, TreeNode t) {
if (t == null && s == null) {
return true;
} else if (t == null || s == null) {
return false;
}
return isSubtreeRoot(s, t) || isSubtree(s.left, t) || isSubtree(s.right, t);
}
public boolean isSubtreeRoot(TreeNode s, TreeNode t) {
if (t == null && s == null) {
return true;
} else if (t == null || s == null) {
return false;
}
if (t.val == s.val) {
return isSubtreeRoot(s.left, t.left) && isSubtree(s.right, t.right);
}
return false;
}
}
[/restab]
[/restabs]



Comments | NOTHING