美文网首页
从上往下打印二叉树

从上往下打印二叉树

作者: Hammy | 来源:发表于2018-01-31 22:34 被阅读0次

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

思路:
就是二叉树的层序遍历,借助队列先进先出的特性完成.

Ps:
这种形式的写法不需要考虑quene是否为空的情况,因为node只要为空说明队列就已经为空了.

代码:

/**
 * Created by Hammy on 2018/1/31.
 */
public class PrintTopToBottom
{
    public ArrayList<Integer> printTopToBottom(TreeNode root){
        ArrayList<Integer> arrayList = new ArrayList();
        LinkedList<TreeNode> quene = new LinkedList<TreeNode>();
        TreeNode node = root;

        while(node != null){
            arrayList.add(node.val);
            if(node.left != null){
               quene.add(node.left);
            }
            if(node.right != null){
                quene.add(node.right);
            }
                node = quene.poll();

        }
        return arrayList;
    }
}

相关文章

网友评论

      本文标题:从上往下打印二叉树

      本文链接:https://www.haomeiwen.com/subject/ufcrzxtx.html