17、树的子结构 值得再看一遍
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
示例1
输入
{8,8,#,9,#,2,#,5},{8,9,#,2}
返回值
true
1、解析见力扣-14 树 - medium - 面试题26,讲得很好
bool HasSubtreeCore(TreeNode* pRoot1, TreeNode* pRoot2){ if(pRoot2==nullptr) return true; if(pRoot1==nullptr) return false; if(pRoot1->val == pRoot2->val) return HasSubtreeCore(pRoot1->left,pRoot2->left) && HasSubtreeCore(pRoot1->right,pRoot2->right); else return false; } bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2) { if(pRoot1==nullptr || pRoot2==nullptr) return false; return HasSubtree(pRoot1->left,pRoot2) || HasSubtree(pRoot1->right,pRoot2)