572.另一个树的子树

image-20200507111324438

思路

  • 核心思想 递归
  • 首先寻找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);
    }
}
原文地址:https://www.cnblogs.com/yh-simon/p/12841980.html