public class Application {
static class Node {
int val;
Node left;
Node right;
public Node(int val) {
this.val = val;
}
}
public static void levelOrderTraversal (Node node) {
Queue<Node> queue = new LinkedList<>();
// 添加一个元素
queue.offer(node);
while (!queue.isEmpty()) {
// 移除并返回队列头部元素, 为空返回null
node = queue.poll();
System.out.print(node.val + " ");
if (node.left != null) {
// 添加左节点元素
queue.offer(node.left);
}
if (node.right != null) {
// 添加右节点元素
queue.offer(node.right);
}
}
}
public static void main(String[] args) {
Node root = new Node(1);
Node l1 = new Node(2);
Node r1 = new Node(3);
root.left = l1;
root.right = r1;
l1.left = new Node(4);
l1.right = new Node(5);
r1.left = new Node(6);
r1.right = new Node(7);
levelOrderTraversal(root);
}
}