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()); } }