文章目录
💎一、题目
🏆1.题目描述
🏆2.原题链接
💎二、解题报告
🏆1.思路分析
🏆2.代码详解
bool samefree(struct TreeNode* A, struct TreeNode* B){
if(B == NULL) return true; //1
if(A == NULL) return false; //2
if(A->val != B->val) //3
{
return false;
}
return samefree(A->left, B->left) && samefree(A->right, B->right);//4
}
bool isSubStructure(struct TreeNode* A, struct TreeNode* B){
if(A == NULL) //5
{
return false;
}
if(B == NULL)
{
return false;
}
return samefree(A, B) //6
|| isSubStructure(A->left, B)
|| isSubStructure(A->right, B);
}