题目
给定一个二叉树,进行按层遍历。
例:
解析
给定一颗二叉树:
首先准备一个队列,让头节点入队;
节点出队并打印,同时此节点的左节点2入队,右节点3在入队;
2出队,2的左节点4入队,2的右节点5在入队;
3出队,3的右节点6在入队;
最后以此出队,得到结果。
代码
public static class Node {
public int value;
public Node left;
public Node right;
public Node(int v) {
value = v;
}
}
public static void level(Node head) {
if (head == null) {
return;
}
Queue<Node> queue = new LinkedList<>();
queue.add(head);
while (!queue.isEmpty()) {
Node cur = queue.poll();
System.out.println(cur.value);
if (cur.left != null) {
queue.add(cur.left);
}
if (cur.right != null) {
queue.add(cur.right);
}
}
}