二叉树的广度遍历/层序遍历
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]);
}