题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
解法:层次遍历
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
if(root == null) {
//return null;
return new ArrayList<>();
}
ArrayList<Integer> result = new ArrayList<>();
ArrayList<TreeNode> treeList = new ArrayList<>();
treeList.add(root);
//while(treeList != null) {
while(treeList.size() != 0) {
TreeNode temp = treeList.get(0);
if(temp.left != null) {
treeList.add(temp.left);
}
if(temp.right != null) {
treeList.add(temp.right);
}
result.add(temp.val);
treeList.remove(0);
}
return result;
}
}