剑指offer 从上往下打印二叉树

来源:互联网 发布:靠谱代购淘宝店 知乎 编辑:程序博客网 时间:2024/06/05 11:09

题目描述

从上往下打印出二叉树的每个节点,同层节点从左至右打印。


解决方案:

import java.util.ArrayList;import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;/**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> list = new ArrayList<Integer>();         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;                    }}