从上往下打印二叉树

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

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

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;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容