思路:
定义一个列表用于保存节点
如果树为空的话(根不存在),返回null
树不空,把根添加到列表中,看根有无左子树,有添加进来。有无又子树,有添加进来,
列表中其余节点同上处理
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
public class Solution {
public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
ArrayList<TreeNode> nodes = new ArrayList<>();
ArrayList<Integer> list = new ArrayList<>();
if(root==null){
return list;
}
nodes.add(root);
for(int i=0;i<nodes.size();i++){
TreeNode node = nodes.get(i);
if(node.left!=null){
nodes.add(node.left);
}
if(node.right!=null){
nodes.add(node.right);
}
list.add(node.val);
}
return list;
}
}