1.二叉树层序遍历
LeetCode102
力扣https://leetcode-cn.com/problems/binary-tree-level-order-traversal/利用队列的特点:
remove()方法:移除掉头部位置的元素并且返回最后位置的元素。
add()方法:队列尾部添加元素。
queue.isEmpty():队列是否为空。
队列先进先出。
public static void levelOrder(BiTreeNode t) {
if (t == null)
return;
Queue<BiTreeNode> queue = new LinkedBlockingQueue<>();
BiTreeNode curr;
queue.add(t);
while (!queue.isEmpty()) {
curr = queue.remove();
System.out.println(curr.value);
if (curr.left != null)
queue.add(curr.left);
if (curr.right != null)
queue.add(curr.right);
}
}