有苦有乐的算法 --- 二叉树的按层遍历

题目

给定一个二叉树,进行按层遍历。
例:

解析

给定一颗二叉树:

首先准备一个队列,让头节点入队;

节点出队并打印,同时此节点的左节点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);
		}
	}
}
posted @ 2022-03-07 18:03  叕叕666  阅读(22)  评论(0)    收藏  举报