这是一道面试题。找到 BST 中的第二个最大值。
最大元素是 BST 中最右边的叶子。第二个最大值是其父级或其左子级。所以解决方案是遍历 BST 找到最右边的叶子并检查其父节点和左子节点。
是否有意义?
不,那是错误的。考虑这个 BST:
137
/
42
\
99
这里,第二个最大值是最大值的左子节点的最右子节点。您的算法需要更新,以便您检查最大值的父级,或最大值左子级的最右子级。
另请注意,最大值不一定是最右边的leaf节点,它是树右脊柱底部的节点。上面,137不是叶子。
希望这可以帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)