您的位置:首页 > 其它

Binary Tree---Subtree

2016-04-03 21:04 507 查看
You have two every large binary trees: T1, with millions of nodes, and T2, with hundreds of nodes. Create an algorithm to decide if T2 is a subtree of T1.

public class Solution{
public boolean isSubtree(TreeNode t1, TreeNode t2){
if (t2 == null) {
return true;

}
if (t1 == null) {
return false;
}
if (isEqual(t1,t2)) {
return true;
}
if (isSubtree(t1.left, t2) || isSubtree(t1.right,t2)) {
return true;

}
return false;
}
private boolean isEqual(TreeNode t1, TreeNode t2){
if (t1 == null || t2 == null) {
return t1 ==t2;
}
if (t1.val!=t2.val) {
return false;
}
return isEqual(t1.left, t2.left) && isEqual(t1.right,t2.right);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: