遍历二叉树,从上往下遍历。但是同层节点可以从左向右遍历,也可以从右向左遍历(也就是之字型遍历),其中,都需要队列进行实现。只是按照之字型稍微麻烦一些。
(1)从上往下打印出二叉树的每个节点,同层节点从左至右打印。
需要一个队列,队列里面放节点(从根节点开始),然后依次进行打印。
import java.util.ArrayList;
import java.util.Queue;
import java.util.LinkedList;
class TreeNode{
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val){
this.val = val;
}
}
public class Solution {
public ArrayList PrintFromTopToBottom(TreeNode root) {
ArrayList list = new ArrayList();
if(root == null)
return list;
Queue queue = new LinkedList();
queue.add(root);
while(!queue.isEmpty()){
TreeNode t = queue.poll();
list.add(t.val);
if(t.left != null)