题目描述

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

解题思路

按照从左往右从上到下的顺序打印节点,需要我们维护一个队列,这个队列放入元素的顺序是访问队头节点(起始先放入根节点),则若当前节点的左右子树非空,则将左右子节点依次放入队尾,对所有节点执行此操作,然后按顺序遍历队列。

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> result;
//申请一个队列专门放横排的数据
if (root==NULL){
return result;
}
queue<TreeNode*> que; que.push(root);
while(!que.empty()){
if(root->left!=NULL){
que.push(root->left);
}
if(root->right!=NULL){
que.push(root->right);
}
int val=root->val;
result.push_back(val);
que.pop();
root=que.front();
}
return result;
} };

最新文章

  1. C#三级联动
  2. 通过Dockerfile建立.NET Core mvc Image
  3. FMS 客户端带宽计算、带宽限制
  4. dede使用方法---用js让当前导航高亮显示
  5. RPC和Socket,RMI和RPC之间的关系
  6. Java学习指南学习笔记
  7. Spring MVC + jpa框架搭建,及全面分析
  8. Force.com微信开发系列(三)申请测试账号及回复图文消息
  9. imx6 RGB LCD
  10. 第六篇 Integration Services:初级工作流管理
  11. open file 值修改
  12. 手机金属外壳加工工艺:铸造、锻造、冲压、CNC
  13. linux(Centos 6.3)学习笔记
  14. shiro的入门实例-shiro于spring的整合
  15. iOS开发之CALayer
  16. Natas Wargame Level25 Writeup(头部注入+POST/GET注入)
  17. 2018上C语言程序设计(初级)作业- 第2次作业
  18. Spring Boot自动配置与Spring 条件化配置
  19. java 获取昨天日期
  20. [转]C#如何判断操作系统位数是32位还是64位

热门文章

  1. 【第二版】高仿Android网易云音乐企业级项目实战课程介绍
  2. idea上传项目到github
  3. 监听属性watch
  4. ASP.NET Aries 高级开发教程:表单检测字段是否已存(番外篇)
  5. .net core百万设备连接服务和硬件需求测试
  6. jquery.i18n 网站呈现各国语言
  7. git常用情景和基础命令
  8. web前端面试知识点整理
  9. Zabbix-3.4简介及安装配置
  10. Linux平台达梦数据库V7单实例安装方式之图形方式