題目
從上往下列印出二叉樹的每個節點,同層節點從左至右列印,
分析
- 初始化:一個佇列Queue queue , 將root節點入佇列queue
- 如果佇列不空,做如下操作:
- 彈出佇列頭,保存為node,將node的左右非空子節點加入佇列
- 做2,3步驟,直到佇列為空



代碼
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Queue;
public class Solution {
public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
ArrayList<Integer> list = new ArrayList<>();
if(root == null) return list;
//使用佇列來輔助
Queue<TreeNode> queue = new LinkedList<>();
queue.offer(root);
while (!queue.isEmpty()){
TreeNode node = queue.poll();
list.add(node.val);
if(node.left!=null) queue.offer(node.left);
if(node.right!=null) queue.offer(node.right);
}
return list;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/257092.html
標籤:java
