package com.camnter.basicexercises.tree;
import com.camnter.basicexercises.core.TreeNode;
import java.util.LinkedList;
import java.util.Queue;
/**
* 树的 广度优先遍历 也叫 层次遍历
*
*
* - 1
* - 2 3
* - 4 5 6
* - 7 8
*
* 1 2 3 4 5 6 7 8
*
* @author CaMnter
*/
public class LayerTraversal {
void layerTraversal(TreeNode root) {
if (root == null) return;
Queue> queue = new LinkedList>();
queue.add(root);
while (!queue.isEmpty()) {
TreeNode current = queue.poll();
System.out.print(current.value + " ");
if (current.left != null) queue.add(current.left);
if (current.right != null) queue.add(current.right);
}
}
public static void main(String args[]) {
LayerTraversal layerTraversal = new LayerTraversal();
layerTraversal.layerTraversal(TreeNode.getTree());
}
}