层序遍历
层序遍历
我们知道二叉树的遍历分为深度优先遍历和广度优先遍历
深度优先遍历分为先序遍历、中序遍历、后序遍历
广度优先遍历 为 层序遍历
顾名思义,层序遍历为一层一层遍历,从上至下,从左至右,如下图:层序遍历结果为:a b c d e f g
思路:
如何进行二叉树的层序遍历呢?我们首先拿到根节点,然后访问左结点,访问右节点…
我们可以将结点放在队列中,然后分别把左节点右节点放进队列,最后依次输出可得到层序遍历。
代码实现:
public class TreeNode {
public int val;
public TreeNode left;
public TreeNode right;
public TreeNode(int val) {
this.val = val;
}
@Override
public String toString() {
return String.format("TreeNode{%c}", val);
}
}
import java.util.LinkedList;
import java.util.Queue;
public class levelTraversal {
public void level(TreeNode root) {
if (root