基本思路就是,将每层的节点以层序遍历的方式全部放入队列中(包括null)
如果是完全二叉树,在我们取出节点的时候,应该是直到整棵树遍历完毕才会遇到null。
所以当我们按层序遍历的方式,遇到null,但是队列中仍然存在节点,则代表不是完全二叉树;否则,是完全二叉树。
/*
* function T
展开全文
方法:BFS,辅助队列本质是广度优先搜索,利用辅助队列进行层序遍历。如果一个二叉树是完全二叉树,那么层序遍历时,第一个空结点也是它的最后一个空结点;否则就不是完全二叉树。时间复杂度:o(n)。最坏情况需要遍历二叉树的所有结点。空间复杂度:o(n)。需要辅助队列进行二叉树的层序遍历
class Sol
展开全文