我实现了这个函数来检查一棵树是否是一个二叉搜索树但是它一直在抛出一个段错误
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);
}
答案 0 :(得分:1)
下面:
root->left->data
你怎么知道
root->left
不是空的?如果是,当您尝试访问data
成员时,您将调用未定义的行为,这可能会通过seg错误显示出来。