题解 | #树的子结构#

树的子结构

https://www.nowcoder.com/practice/6e196c44c7004d15b1610b9afca8bd88

//小白代码,用递归做
class Solution {
  public:
    bool issame(TreeNode* pRoot1TreeNode* pRoot2){
        if(pRoot2==NULLreturn true;
        else{
            if(pRoot1==NULLreturn false;
            if(pRoot1->val!=pRoot2->valreturn false;
            else return issame(pRoot1->leftpRoot2->left) &&
                   issame(pRoot1->rightpRoot2->right);
        }
        
    }
    bool HasSubtree(TreeNode* pRoot1TreeNode* pRoot2) {
        if (pRoot2 == NULL||pRoot1==NULLreturn false;
        bool res=false;//结果
        if (pRoot1->val == pRoot2->val) {
            if(issame(pRoot1->leftpRoot2->left) &&issame(pRoot1->rightpRoot2->right))
                res=true;
        }//判断该位置是否是有相同的子结构
        if((res==false)&&(HasSubtree(pRoot1->left, pRoot2)||HasSubtree(pRoot1->right, pRoot2)))
            res=true;
        //换到左右子树分别看是否有相同的子结构
        return res;
    }
};
全部评论

相关推荐

昨天 10:31
门头沟学院 Java
求问各位大佬,笔试都考点啥
投递科大讯飞等公司10个岗位
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务