从上往下打印二叉树(java版)

来源:互联网 发布:linux 解压缩war包 编辑:程序博客网 时间:2024/06/06 01:57

【题目描述】从上往下打印出二叉树的每个节点,同层节点从左至右打印。


【解题思路】
//1. 层序遍历二叉树。
//2. 使用一个ArrayList记录下依次访问到的节点。

import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;public class Solution {    public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {        ArrayList<Integer> arr = new ArrayList<Integer>();        Queue<TreeNode> q = new LinkedList<TreeNode>();        if(root != null){            q.offer(root);        }        while(!q.isEmpty()){            TreeNode tr = q.poll();            arr.add(tr.val);            System.out.println(tr.val);            if(tr.left != null){                q.offer(tr.left);            }            if(tr.right != null){                q.offer(tr.right);            }        }        return arr;    }}
原创粉丝点击