如果给出父指针(使用Queue out),我们如何在bst中找到节点的级别顺序后继?
答案 0 :(得分:0)
在基本情况下,它是node
的正确兄弟。否则,您需要回绕到下一级别,或返回No successor
。
使用正确的孩子前往下一位父级,并将其向左移动至node
级别。如果您能够追溯到没有合适孩子的root
,请向左转到level + 1
。如果您到达空子ptr,请返回no successor
。
如果它不是完整的BST,您可能需要做更多的工作 - 重复直到找到所需级别的节点。