C++ 中的二叉搜索树分割错误



我实现了这个函数来检查树是否是二叉搜索树,但它一直抛出段错误

bool checkBST(Node* root) {
if(root == nullptr){
return true;
}
else{
if(root->data <= root->left->data){
return false;
}
else if(root->data >= root->right->data){
return false; 
}
}
return true&&checkBST(root->left)&&checkBST(root->right);
}

在这里:

root->left->data

你怎么知道

root->left 

不是空的?如果是,您将在尝试访问data成员时调用未定义的行为,该行为可能通过 seg 错误表现出来。

相关内容

  • 没有找到相关文章

最新更新