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

来源:互联网 发布:黄子韬小精灵软件 编辑:程序博客网 时间:2024/05/17 07:18

题目描述

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

思路

模拟队列的压入弹出,用bfs的while循环来模拟递归。

import java.util.ArrayList;/**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>temp_queue=new ArrayList<TreeNode>();        ArrayList<Integer>temp_list=new ArrayList<Integer>();        if(root==null)return temp_list;        temp_queue.add(root);        int pro=0;        while(pro<temp_queue.size()){            TreeNode temp=temp_queue.get(pro++);            temp_list.add(temp.val);            //temp_queue.pop();            if(temp.left!=null)temp_queue.add(temp.left);            if(temp.right!=null)temp_queue.add(temp.right);        }        return temp_list;    }}


0 0
原创粉丝点击