层序遍历就是逐层遍历树结构。
广度优先搜索是一种广泛运用在树或图这类数据结构中,遍历或搜索的算法。 该算法从一个根节点开始,首先访问节点本身。 然后遍历它的相邻节点,其次遍历它的二级邻节点、三级邻节点,以此类推。
当我们在树中进行广度优先搜索时,我们访问的节点的顺序是按照层序遍历顺序的。,说简单点就是一层遍历完遍历下一层。
层序遍历一个二叉树。就是从左到右一层一层的去遍历二叉树。这种遍历的方式和我们之前讲过的都不太一样。
需要借用一个辅助数据结构队列来实现,队列先进先出,符合一层一层遍历的逻辑,而是用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。
解题思路:先入队一个节点,然后把这个节点的数据取出放入临时数组中,如果这个结点有左孩子那就把左孩子入队,头孩子同理,下面大家看看图就明白了
1:首先我们把头节点入队,此时队列的size为1。
2.获取队列头部的结点,把这个结点的val添加进临时数组中,然后出队,因为这个结点既有左孩子也有右孩子,所以把左右孩子均入队,入队后size变为了2,如下图
3.还是老样子,