/*
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
};*/
class Solution {
public:
    bool HasSubtree(TreeNode* A, TreeNode* B)
    {
        if(!A || !B) return false;
        if(isPart(A,B)) return true;
        return (HasSubtree(A->left,B) || HasSubtree(A->right,B));
    }
    
    bool isPart(TreeNode *A1,TreeNode *B1)
    {
        if(!B1) return true;
        if(!A1 || A1->val != B1->val) return false;
        
        return (isPart(A1->left,B1->left) && isPart(A1->right,B1->right));
    }
};
2020-05-12
在牛客打卡20天,今天学习:刷题 6 道/代码提交 6 次
全部评论

相关推荐

11-11 16:40
已编辑
门头沟学院 人工智能
不知道怎么取名字_:这个有点不合理了,相当于已经毕业了,但还是没转正,这不就是白嫖
点赞 评论 收藏
分享
孙艹肘:校招不给三方直接让实习我都去了,,主打一个在学校呆着也是闲着,不如出来实习一下
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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