从上往下打印二叉树

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

c++

struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {}
};
class Solution {public:vector<int> PrintFromTopToBottom(TreeNode* root) {vector<int> ret;ret.clear();queue<TreeNode*> q;while(!q.empty())   q.pop();if(root!=NULL)q.push(root);elsereturn ret;while(!q.empty()){TreeNode* cur=q.front();q.pop();if(cur->left!=NULL)q.push(cur->left);if(cur->right!=NULL)q.push(cur->right);ret.push_back(cur->val);}return ret;}
};

Java

import java.util.*;
/*
class TreeNode {int val = 0;TreeNode left = null;TreeNode right = null;public TreeNode(int val) {this.val = val;}}
*/
public class Solution {public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {ArrayList<Integer> ans=new ArrayList();Queue<TreeNode> q=new LinkedList<TreeNode>();if(root==null)return ans;q.offer(root);while(!q.isEmpty()) {TreeNode cur=q.poll();if(cur.left!=null)q.offer(cur.left);if(cur.right!=null)q.offer(cur.right);ans.add(cur.val);}return ans;}
}

牛客网 二叉树的层序遍历相关推荐

  1. 牛客网———二叉树遍历

    题目描述 编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储). 例如如下的先序遍历字符串: ABC##DE#G##F### 其中"#"表示的 ...

  2. 牛客题霸 [ 求二叉树的层序遍历] C++题解/答案

    牛客题霸 [ 求二叉树的层序遍历] C++题解/答案 题目描述 给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) 例如: 给定的二叉树是{3,9,20,#,#,15,7}, 该 ...

  3. 牛客网 KY11 二叉树遍历

    牛客网 KY11 二叉树遍历 import java.util.*;class TreeNode {public char val;public TreeNode left;public TreeNo ...

  4. 牛客网视频总结5(二叉树)

    牛客网视频总结5 目录 牛客网视频总结5 二叉树先序.中序.后序遍历 递归方法 非递归方法 二叉树的后继节点/先驱节点 后继节点 前驱节点 二叉树的序列化和反序列化 判断二叉树是否为平衡二叉树(树型D ...

  5. 牛客网刷题——二叉树

    作者:敲代码の流川枫 博客主页:流川枫的博客 专栏:和我一起学java 语录:Stay hungry stay foolish 工欲善其事必先利其器,给大家介绍一款超牛的斩获大厂offer利器--牛客 ...

  6. 牛客网与leetcode刷题(高频题中简单or中等的)

    目录 1.反转链表 2.排序 3.先序中序后序遍历 4.最小的k个数 5.子数组的最大累加和 6. 用两个栈实现队列 7.142. 环形链表 II 8.20. 有效的括号 9.最长公共子串(动态规划) ...

  7. 牛客网面试高频题top100(1~10)

    *牛客网面试高频题top100(1~10 java实现) 1.反转链表 描述: 给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表 ...

  8. 今日头条后端面经总结(2018.12月)(转自牛客网)

    面经(后端): 一 操作系统中的进程和线程还有虚拟存储. 计算机网络TCP和UDP仔细看一下,也不要放过滑动窗口; 还有计算机网络体系结构各层都要熟悉. lambda表达式 spring 智力题,比如 ...

  9. 算法记录 牛客网 leetcode刷题记录

    算法记录 & 牛客网 & leetcode刷题记录 解题思路 STL容器 常用算法模板 堆排序 插入排序 快速排序 BFS层序遍历 二叉树 JZ55 二叉树的深度 BST(binary ...

最新文章

  1. 雨课堂c语言考试题库2020,雨课堂2020题目答案,雨课堂2020作业答案
  2. 使用opencv读取图片错误([ WARN:0@13.701] global D:\a\opencv-python\opencv-python\opencv\modules\imgcodecs\..)
  3. 清华裴丹:AIOps 落地路线图
  4. ubuntu11.10 samba服务器配置
  5. mac写html图片显示不出来解决方法
  6. Git.Framework 框架随手记--ORM条件组合
  7. 匹配中国人姓名的JavaScript正则表达式
  8. 图文并茂搭建STM32开发环境
  9. Atitit 档案学 档案管理 attilax学习总结
  10. 计算机中带符号的整数表示方法,带符号数的代码表示-数字电子技术-电子发烧友网站...
  11. android键盘管理,用鼠标键盘控制你的Android手机完整图文教程
  12. 383-基于kintex UltraScale XCKU040的双路QSFP+光纤PCIe 卡
  13. 【Android】APK的打包流程
  14. SecureCRT安装配置使用
  15. Ubuntu下bazel卸载与安装
  16. 双路微型计算机,十二核心至尊 Intel Xeon E5-2697 v2
  17. 华硕fl8000u是什么型号_华硕fl8000u参数 华硕顽石五代fl8000什么配置?
  18. 9.7 9.7 9.7
  19. Linux——扩展和缩减、删除逻辑卷
  20. leetcode 柠檬水找零 【贪心算法】

热门文章

  1. c#基础,单线程,跨线程访问和线程带参数
  2. 在Spring MVC中使用注解的方式校验RequestParams
  3. Python系列之Collections内置模块(2)
  4. iOS获取缓存文件的大小并清除缓存
  5. 常见HTTP状态码列表
  6. SimpleMembership
  7. 优化DOTTEXT之一:缓存配置项
  8. 计算机网络.doc,计算机网络network.doc
  9. python解释器可以使用什么命令_python解释器用什么写的
  10. c++2个三维向量求角度差_交叉学科入门指南(2)——线性回归