二分搜索树的层序遍历
通过引入一个队列来支撑层序遍历;
- 如果根节点为空,无可遍历;
- 如果根节点不为空:
- 先将根节点入队;
- 只要队列不为空:
- 出队队首节点,并遍历;
- 如果队首节点有左孩子,将左孩子入队;
- 如果队首节点有右孩子,将右孩子入队;
// 二分搜索树的层序遍历
public void levelOrder(){
if(root == null)
return;
Queue<Node> q = new LinkedList<>();
q.add(root);
while(!q.isEmpty()){
Node cur = q.remove();
System.out.println(cur.e);
if(cur.left != null)
q.add(cur.left);
if(cur.right != null)
q.add(cur.right);
}
}