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)
京公网安备 11010502036488号