我先找与pattern根节点相同的数据元素,然后用equals判断下面的子树是否相等
equals函数:
template
bool BinaryTree::equals(BinaryNode* n, BinaryNode* t)
{
if(n==NULL&&t==NULL)
return 1;
if(n!=NULL&&t!=NULL&&n->data==t->data)
return equals(n->left, t->left) && (equals(n->right, t->right);
}
老师说我的返回语句太多,让我改进,用一句返回语句来表达。
我改成了这样,这个错误是什么,我该怎么改?
return equals(n->left, t->left) && (equals(n->right, t->right)&&(n!=NULL&&t!=NULL&&n->data==t->data))||(n==NULL&&t==NULL);
数据结构(C++)二叉树查找首个与pattern匹配的子树
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-