如何查找完全二叉树最后一层的最右边的结点

题目:

如何查找完全二叉树最后一层的最右边的结点。

 

解决方案:

需要分两种情况考虑。

(1)如果完全二叉树是用数组表示的,则直接取数组的最后一个元素。

(2)如果完全二叉树是用指针表示的:

可以如下解决:

a. 从根节点开始,如果右子树存在,则每次先遍历右子树,如果右子树不存在,则访问左子树;

b. 如果右子树是叶子节点(即当前节点没有孩子节点),则该节点即所求节点;

如果右子树不存在,而左子树存在且左子树是叶子节点,则该节点为所求节点;

否则,按a继续查找。

 

以上算法为本人想法,如有问题或建议,欢迎讨论。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页