剑指offer----从上到下打印二叉树----java实现

来源:互联网 发布:淘宝进货渠道有哪些 编辑:程序博客网 时间:2024/05/16 06:55

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

思路:其实就是二叉树的层次遍历问题,借助于队列来实现对二叉树的层次遍历

代码:

import java.util.ArrayList;import java.util.LinkedList;/*class TreeNode {    int val = 0;    TreeNode left = null;    TreeNode right = null;    public TreeNode(int val) {        this.val = val;    }}*/public class LevelTest{   public ArrayList<Integer> PrintFromTopToBottom(TreeNode root)    {ArrayList<Integer> list  = new ArrayList<Integer>();        if(root == null)           return list;        LinkedList<TreeNode> queue = new LinkedList<TreeNode>();        TreeNode current = null;        queue.offer(root);        while(!queue.isEmpty())        {        current = queue.poll();//出队当前根节点        list.add(current.val);//将根节点元素的值添加到list中        if(current.left != null)         queue.offer(current.left);        if(current.right != null)        queue.offer(current.right);        }        return list;      }}


0 0
原创粉丝点击