BST边缘的节点是节点:在相同级别节点中具有最大/最小密钥的节点。 (排除根节点和叶节点)
> Suppose we already have a BST like this:
--------5--------
-4-- -8---
-1- -3- -N-10-
-2-N- -9--N-
So the nodes we need to find: 4,8,10 (don't use array/string)
我正在考虑使用堆栈来存储节点的密钥。但似乎我在弹出和比较中找到最大/最小的麻烦。你能帮我想一下更好的解决方案吗?
答案 0 :(得分:0)
执行水平顺序遍历(使用队列)。
每当您出列时,对于您所处的级别,请检查它是否是您目前为止记录的最小值或最大值。
在检查最小值和最大值时,确保root不具备root.left和& root.right为NULL