题目:
树的层序遍历。
答案:
借助辅助队列,先进先出
先将父节点加入列表。
每次从列表中,取出节点进行遍历。
每次遍历节点后,
若节点存在左子节点,则将左子节点加入队列;
若节点存在右子节点,则将右子节点加入队列;
遍历直至列表为空。
public void layerTraverse(TreeNode root) {
if (root == null) {
return;
}
LinkedList<TreeNode> list = new LinkedList<>();
list.add(root);
while (!list.isEmpty()) {
TreeNode node = list.remove();
System.out.println(node.value);
if (node.left != null) {
list.add(node.left);
}
if (node.right != null) {
list.add(node.right);
}
}
}