题目描述
输入两颗二叉树A,B,判断B是不是A的子结构。
class Solution { public: bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2) { bool result= false; if(pRoot1!=NULL&&pRoot2!=NULL){ if(pRoot2->val == pRoot2->val) result=equal(pRoot1,pRoot2); if(!result) result=equal(pRoot1->left,pRoot2); if(!result) result=equal(pRoot1->right,pRoot2); } return result; } bool equal(TreeNode* pa,TreeNode* pb) { if(pb==NULL) return true; if(pa==NULL) return false; if(pa->val!=pb->val) return false; return equal(pa->left,pb->left)&&equal(pa->right,pb->right); } };
时间: 2024-10-20 02:17:33