题解 | #树的子结构#

树的子结构

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

直接两种递归会超时,还是改成了先判断一下下一层是否满足,不然一直递归下去了

class Solution {
public:
    bool backtracking(TreeNode* p1, TreeNode* p2){
        if(!p2) return true;
        if(!p1) return false;
        if(p1->val==p2->val){
            if((p1->left&&p2->left&&p1->left->val!=p2->left->val)||(p1->right&&p2->right&&p1->right->val!=p2->right->val)){
                return false;
            } 
            return backtracking(p1->left,p2->left)&&backtracking(p1->right,p2->right);
        }
        return false;
    }
    bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2) {
        if(!pRoot2||!pRoot1) return false;
        if(!backtracking(pRoot1, pRoot2)){

            //bool left=HasSubtree(pRoot1->left,pRoot2);
            //bool right=HasSubtree(pRoot1->right,pRoot2);
            return HasSubtree(pRoot1->left,pRoot2)||HasSubtree(pRoot1->right,pRoot2);
        }
        return true;
    }
};
全部评论

相关推荐

2025-12-28 22:19
门头沟学院 Java
不敢追165女神:简历写得毫无特点,你说你要是大二或者大三找寒假实习到暑期实习这段时间,你的简历还能约到面试。但是你是研究生哥,面试官不会因为你是研究生而降低要求,反而会觉得你是研究生才学了这么一点?为什么我不找个同阶段的本科生?
简历中的项目经历要怎么写
点赞 评论 收藏
分享
02-06 16:33
门头沟学院 Java
Phoenix_Re...:很少最多一两个,大多数保研或者摆烂等着考研
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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