判断一颗树是否为另一颗树的子树
1. LeetCode 572. Subtree of Another Tree
2. 描述:
给定非空二叉树 s 和 t ,判断 t 是否为 s 的子树(二者相等的情况也包括在内)
3. 解决方案:
bool isSame(TreeNode* s, TreeNode* t){
if(s == nullptr && t == nullptr){
return true;
}else if(s != nullptr && t != nullptr &&s->val == t->val){
return isSame(s->left, t->left) && isSame(s->right, t->right);
}
return false;
}
bool isSubtree(TreeNode* s, TreeNode* t) {
if(t == nullptr){
return true;
}else if(s == nullptr && t != nullptr){
return false;
}
else if(t->val == s->val && isSame(s,t)){
return true;
}
return isSubtree(s->left, t) || isSubtree(s->right, t);
}