2017-03-03 125 views
-1

我实现此功能检查,如果树是二叉搜索树,但它一直扔段错误错误二叉搜索树分段故障++

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); 
} 

回答

1

这里:

root->left->data 

你怎么了知道

root->left 

是不是空?如果是这样,当您尝试访问data成员时,您会调用未定义的行为,该成员可能会通过seg故障显示。

+0

感谢它的工作。我不知道我怎么没有看到。 – FiyinDaniel