前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天一道剑指offer-从上往下打印二叉树

每天一道剑指offer-从上往下打印二叉树

作者头像
乔戈里
发布2019-09-17 16:09:47
2840
发布2019-09-17 16:09:47
举报
文章被收录于专栏:Java那些事Java那些事

前言

今天的题目 每天的题目见github(看最新的日期): https://github.com/gzc426 具体的题目可以去牛客网对应专题去找。

题目

每天一道剑指offer-从上往下打印二叉树 来源:牛客网对应专题

题目详述

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

题目详解

思路

  • 使用一个队列,实现二叉树的层次遍历

代码

代码语言:javascript
复制
public class Solution {
    public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
        ArrayList<Integer> resultList = new ArrayList<>();
        if(root == null)
            return resultList;
        Queue<TreeNode> queue = new LinkedList<>();
        queue.offer(root);
        while(queue.size() != 0)//队列不为空一直进行
        {
            TreeNode tempRoot = queue.poll();//出队
            if(tempRoot.left != null)//左子节点不为空,左子节点入队
                queue.offer(tempRoot.left);
            if(tempRoot.right != null)//右子节点不为空,右子节点入队
                queue.offer(tempRoot.right);
            resultList.add(tempRoot.val);//把出队的节点的值保留下来
        }
        return resultList;
    }
}

代码截图(避免乱码)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员乔戈里 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 题目
  • 题目详述
  • 题目详解
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档