2017-03-03 129 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