题目
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
题解
需要两个函数,一个用来判断A树是否包含B树。另一个判断A树和B树相同。
代码
<?php
function isSubtree($pRoot1, $pRoot2)
{
if(
$pRoot2 ==
null)
return true;
if(
$pRoot1 ==
null)
return false;
if(
$pRoot1->val ==
$pRoot2->val){
return isSubtree(
$pRoot1->left,
$pRoot2->left) && isSubtree(
$pRoot1->right,
$pRoot2->right);
}
else{
return false;
}
}
function HasSubtree($pRoot1, $pRoot2)
{
if (
$pRoot1 ==
null ||
$pRoot2 ==
null) {
return false;
}
return isSubtree(
$pRoot1,
$pRoot2) ||
HasSubtree(
$pRoot1->left,
$pRoot2) ||
HasSubtree(
$pRoot1->right,
$pRoot2);
}
转载请注明原文地址: https://ju.6miu.com/read-10640.html