思路
- 核心思想 递归
- 首先寻找s,t具有相同的根节点的子树 p ,q
- 判断p 、q是否相同(判断两棵树是否相同)
代码
/*
*7ms
*/
public boolean isSubTree(TreeNode s,TreeNode t){
if(t==null) return true;//t为null 一定是true
if(s==null) return false;//此处t一定不为null
if(isSame(s,t)){
return true;
}else{
return isSubtree(s.right,t)||isSubtree(s.left,t);
}
}
//判断两棵树是否相同
pubic boolean isSame(TreeNode p,TreeNode q){
if(p==null&&q==null) return true;
if(p==null||q==null) return false;
if(p.val!=q.val){
return false;
}esle{
return isSame(p.left,q.left)&&isSame(p.right,q.right);
}
}