非空二叉树b的宽度
有三种解决方案
方案一 记录每个结点的所在层数
比较麻烦,最后还得写一个循环去找出结点数最多的层
方案二 加一个队列,在循环过程中就记录当前结点数最多的层
即用两个队列来完成层次遍历,上一层遍历完的时候那个队列也为空,此时另一个队列的长度就是该层的结点数量
方案三 加间隔结点,即使用一个队列完成统计每个层的结点数
就是之前非递归求二叉树的高度的算法,在每一层的最后一个结点加上一个指针,当遍历到这个指针指向的结点时就把这个指针指向现在的队尾元素。这样就完成了标记。