#这个代码无法通过,我觉得我写复杂了,所以这个代码不要再修修补补了
#直接换个思路
def fun1(root):
'''
验证是否为完全二叉树
完全二叉树的定义:
除最后一层外,每一层一定都是满的
最后一层若不满,则为是从左往右依次排列
那么第一想法很简单,不能是深度优先遍历,应该是宽度优先遍历
每一层每一层的遍历,那么不满足什么规则就不是完全二叉树了
1.一个节点只有右子节点,没有左子节点
2.在不违背1的前提下,如果遇到了第一个左右子不全的情况(只有左子节点)后序的均为叶节点
:return:
'''
if not root:
return True
duilie = [root]
panduan=True
while duilie: # 队列不为空进来
root = duilie.pop(0)<