2017-04-07 6 views
-2

私は割り当て機能のトラブルシューティングにこの機能を使用しましたが、間違った箇所、正しいチェックを行っているようです。はBST検証機能でデバッグを行う必要があります

bool validateBST(Node * root){ 
    if (root == nullptr){ 
     return true; 
    } 

    if (root->right != nullptr){ 
     if (root->value < root->right->value){ 
      return false; 
     } 
     if (!validateBST(root->right)){ 
      return false; 
     } 
    } 
    if (root->left != nullptr){ 
     if (root->value > root->left->value){ 
      return false; 
     } 
     if (!validateBST(root->left)){ 
      return false; 
     } 
    } 
    return true; 
} 

答えて

0

問題は、それが親子関係をチェックしている間に、祖父 - 孫関係をチェックしていないことです。具体的にはsomething like thisは間違っていますが、validateBST関数を渡します

関連する問題