从上往下打印二叉树java实现

来源:互联网 发布:快递助手软件 编辑:程序博客网 时间:2024/06/06 00:39

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

思路:利用队列,先进先出,然后从上往下遍历整棵树。

import java.util.ArrayList;import java.util.Deque;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> list = new ArrayList<Integer>();         if(root == null) return list;         Deque<TreeNode> deque = new LinkedList<TreeNode>();         deque.add(root);         while(!deque.isEmpty()){             TreeNode t = deque.pop();             list.add(t.val);             if(t.left != null) deque.add(t.left);             if(t.right != null) deque.add(t.right);         }         return list;    }}
原创粉丝点击