從上到下列印二叉樹(BFS)
阿新 • • 發佈:2019-02-18
藉助一個Queue來實現,這裡我們用Array來實現Queue的功能
public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
//輔助佇列(先進先出)
ArrayList<TreeNode> queue = new ArrayList<TreeNode>();
//儲存數值的陣列
ArrayList<Integer> list = new ArrayList<Integer>();
if (root == null) {
return list;
}
queue.add(root);
while(queue.size() != 0) {
TreeNode temp = queue.remove(0);
list.add(temp.val);
if(temp.left != null) {
queue.add(temp.left);
}
if(temp.right != null) {
queue.add(temp.right);
}
}
return list;
}