题型一:从上到下打印二叉树
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
import java.util.ArrayList;
public class Solution{
public ArrayList<Integer> printFromTopToButtom(TreeNode root){
ArrayList<Integer> list = new ArrayList<>();
ArrayList<TreeNode> queue = new ArrayList<>();
if(root == null)
return list;
queue.add(root);
while(queue.size() > 0){
TreeNode temp = queue.remove(0);
if(temp.left != null)
queue.add(temp.left);
if(temp.right != null)
queue.add(temp.right);
list.add(temp.val);
}
return list;
}
}
题型二:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。