之前写过二叉树的先序、中序、后序遍历,今天给大家介绍一下二叉树的层序遍历。二叉树的层序遍历
层序遍历也很好理解,一层一层的将你的二叉树遍历后输出。根据这个图输出顺序也就是125346.
上一篇文章也说了,二叉树的操作大多是通过递归来实现的,如果还按你以前的顺序你会遍历1,2,3,4这样下去,但是你现在又不能输出,那要怎么办?最早我的想法是用一个栈存起来,我让二叉树后序遍历,然后将这些遍历过得顺序放到一个栈中,所以最底层先进去,然后依次往回退,但是这个方法仔细想想是不可以的,最起码到了你的右子树就不正确了。
这里要怎么实现,通过一个队列来实现,思想就是首先将你的root结点,进入队列,然后当你从队列出元素的时候如果他有左孩子或者右孩子的话就将他的左右孩子进入队列, 一直循环下去就可以实现二叉树的层序遍历。<