剑指 Offer 26. 树的子结构
剑指 Offer 26. 树的子结构
思路
递归
参考:
代码
class Solution {
public:
bool recur(TreeNode* A, TreeNode* B)
{
if(A==NULL&&B!=NULL)
return false;
if(B==NULL)
return true;
if(A->val == B->val)
{
return recur(A->left,B->left)&&recur(A->right,B->right);
}else
{
return false;
}
}
bool isSubStructure(TreeNode* A, TreeNode* B) {
if(A==NULL||B==NULL)
return false;
bool res=false;
if(A->val == B->val)
{
if(recur(A,B))
return true;
else
res=isSubStructure(A->left,B)||isSubStructure(A->right,B);
}else
{
res=isSubStructure(A->left,B)||isSubStructure(A->right,B);
}
return res;
}
};