/*
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));
}
};
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 次
全部评论
相关推荐
点赞 评论 收藏
分享
05-30 00:12
江西服装学院 Java 头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
点赞 评论 收藏
分享