剑指 offer:从上到下打印二叉树(层序遍历)

来源:互联网 发布:四驱车奥迪双钻 淘宝 编辑:程序博客网 时间:2024/05/29 19:15

题目描述

从上往下打印出二叉树的每个节点,同层节点从左至右打印。
难点:java中到队列很少用到,Deque只是一个接口,可用实现的ArrayDeque代替队列,用add()和poll()代表入队和出队。


import java.util.ArrayList;import java.util.*;/**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) {       ArrayDeque<TreeNode> de = new ArrayDeque<TreeNode>();        ArrayList<Integer> array = new ArrayList<Integer>();       if(root == null){           return array;       }       de.add(root);       while(de.size()>0){           TreeNode node = de.poll();           array.add(node.val);           if(node.left!=null){               de.add(node.left);           }           if(node.right!=null){               de.add(node.right);           }       }       return array;    }}


0 0
原创粉丝点击