二叉树的广度遍历/层序遍历

private Integer[] breadthSearch(TreeNode root) {
	List<Integer> list = new ArrayList<Integer>(); // 存放节点值
	ArrayDeque<TreeNode> queue = new ArrayDeque<TreeNode>(); // 队列,用来存放节点
	queue.add(root);
	while (!queue.isEmpty()) {
		TreeNode node = queue.pop(); // 把上层的出队列

		list.add(node.val); // 上层的值存入数组
		if (node.left != null) {
			queue.add(node.left); // 下层的入队列
		}
		if (node.right != null) {
			queue.add(node.right);// 下层的入队列
		}
	}
	return list.toArray(new Integer[0]);
}
posted @ 2024-01-31 17:09  echo_lovely  阅读(3)  评论(0编辑  收藏  举报