自上而下的打印二叉树,同时在同一层内需要进行从左向右的打印

  • 采用层序遍历的方式进行实现

    import java.util.ArrayList;
    import java.util.LinkedList;
    /**
    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<integer> result = new ArrayList<integer>();
if(root == null){//若为空节点
return new ArrayList<integer>();
}
//定义队列
LinkedList<treenode> queue = new LinkedList<treenode>();
queue.add(root);
while(!queue.isEmpty()){
//设置出队列
TreeNode tempNode = queue.poll();
result.add(tempNode.val);
if(tempNode.left != null){
queue.add(tempNode.left);
}
if(tempNode.right != null){
queue.add(tempNode.right);
}</treenode></treenode></integer></integer></integer></integer>

    }

    return result;




}

}
```