从上往下打印二叉树

本贴最后更新于 2453 天前,其中的信息可能已经斗转星移

题目描述

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

解题思路

利用一个队列,广度优先遍历(BFS)。

代码

import java.util.ArrayList;

public class Solution {
    public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
        ArrayList<Integer> ret = new ArrayList<>();
        if (root == null)
            return ret;
        ArrayList<TreeNode> list = new ArrayList<>();
        list.add(root);
        for (int i = 0; i < list.size(); i++) {
            ret.add(list.get(i).val);
            if (list.get(i).left != null)
                list.add(list.get(i).left);
            if (list.get(i).right != null)
                list.add(list.get(i).right);
        }
        return ret;
    }
}

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...