Ich versuche, die Höhe eines BST zu bekommen einen Stapel verwenden. Mir wurde gesagt, dass ich Preorder verwenden sollte und messen Sie die größte Größe des Stapels finden. Allerdings scheint dies nicht zu funktionieren. Irgendwelche Ideen, was ich falsch mache.
int PBT::maxDepth() {
if (!root) {
return -1;
}
int depth=0;
stack<TreeNode *>s;
TreeNode * nodePtr=root;
for (; ; ) {
while (nodePtr) {
s.push(nodePtr);
if (s.size() > depth)
depth = s.size();
nodePtr=nodePtr->left;
}if (s.empty()) {
break;
}
nodePtr=s.top();
s.pop();
nodePtr=nodePtr->right;
}
return depth;
}













