输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
<?php class TreeNode{ var $val; var $left = NULL; var $right = NULL; function __construct($val){ $this->val = $val; } } function isSubTree($root1, $root2) { if ($root2===null) { return true; } if ($root1 === null) { return false; } if ($root1->val === $root2->val) { return isSubTree($root1->left, $root2->left) && isSubTree($root1->right, $root2->right); } return false; } function HasSubtree($pRoot1, $pRoot2) { if ($pRoot2 === null || $pRoot1===null) { return false; } if ($pRoot1->val===$pRoot2->val) { return isSubTree($pRoot1, $pRoot2) || isSubTree($pRoot1->left, $pRoot2) || isSubTree($pRoot1->right, $pRoot2); } return false; }