树的子结构
bool helper(TreeNode *root1, TreeNode *root2) { if(root2==nullptr) return true; if(root1==nullptr) return false; if(root1->val==root2->val) { return helper(root1->left, root2->left)&&helper(root1->right, root2->right); } else { return false; } } bool HasSubtree(TreeNode* root1, TreeNode* root2) { bool result=false; if(root1!=nullptr && root2!=nullptr) { if(root1->val==root2->val) result=helper(root1, root2); if(!result) result=HasSubtree(root1->left, root2); if(!result) result=HasSubtree(root1->right, root2); } return result; }
posted on 2017-09-22 16:38 www_practice 阅读(153) 评论(0) 编辑 收藏 举报