树的层次遍历

/**
	 * 按层次遍历树
	 * @param root 树的根节点
	 */
	private static void levelPrintTree(Tree root) {
		if (root == null) {
			return;
		}
		Queue<Tree> queue = new LinkedList<Tree>();
		//把根节点入队
		queue.add(root);
		while (!queue.isEmpty()) {
			Tree node = queue.poll();
			System.out.print(node.v + "\t");
			
			//把树的所有直接子节点入队,如果是棵任意树,需要遍历所有直接子节点
			if (node.left != null) {
				queue.add(node.left);
			}
			if (node.right != null) {
				queue.add(node.right);
			}
		}
		System.out.println();
	}

你可能感兴趣的:(树的层次遍历)