我在#34;练习决赛中遇到了这个问题"我正在用于学习真正的决赛:
我无法想到为什么这种方法不起作用。逻辑似乎很好。如果每个BST,则BST仅是BST。父母<对,这正是这个方法递归检查的内容。
任何提示都将不胜感激!
答案 0 :(得分:3)
除了重复值之外,二叉搜索树的definition需要:
左子树仅包含密钥小于父节点的节点;右子树仅包含密钥大于父节点的节点。
您问题中的代码不会检查。考虑以下树:
2
/
1
\
3
这会通过测试,但不是有效的BST:要将其作为BST,3
必须位于2
的右子树中}。
有关正确实施的示例,请参阅https://stackoverflow.com/a/759851/367273。