求非空二叉树b的宽度(具有结点数最多的那一层的结点个数)
时间:2021-06-18 11:44:34
收藏:0
阅读:13
非空二叉树b的宽度
有三种解决方案
方案一 记录每个结点的所在层数
比较麻烦,最后还得写一个循环去找出结点数最多的层
方案二 加一个队列,在循环过程中就记录当前结点数最多的层
即用两个队列来完成层次遍历,上一层遍历完的时候那个队列也为空,此时另一个队列的长度就是该层的结点数量
方案三 加间隔结点,即使用一个队列完成统计每个层的结点数
就是之前非递归求二叉树的高度的算法,在每一层的最后一个结点加上一个指针,当遍历到这个指针指向的结点时就把这个指针指向现在的队尾元素。这样就完成了标记。
原文:https://www.cnblogs.com/imatrix-wyl/p/14898380.html
评论(0)