剑指offer  面试题23:从上往下打印二叉树

参与人数:4853  时间限制:1秒  空间限制:32768K

提交网址: http://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701?tpId=13&tqId=11175

题目描述

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

分析:

此题即为二叉树的BFS,使用队列可以解决。

AC代码:

#include<cstdio>
#include<vector>
#include<queue>
using namespace std;struct TreeNode
{int val;TreeNode *left, *right;TreeNode(int x): val(x), left(NULL), right(NULL) {}
};
class Solution {
public:vector<int> PrintFromTopToBottom(TreeNode *root){vector<int> res(0);if(root==NULL) return res;queue<TreeNode*> q;    q.push(root);while(!q.empty()) {TreeNode *p= q.front();res.push_back(p->val);q.pop();if(p->left != NULL) q.push(p->left);if(p->right != NULL) q.push(p->right);}return res;}     };
// 以下为测试
int main()
{Solution sol;vector<int> res;TreeNode *root = new TreeNode(1); root->right = new TreeNode(2); root->right->left = new TreeNode(3); res=sol.PrintFromTopToBottom(root);for(int i:res)printf("%d ",i);  // 此处为vector遍历的方法,C++11标准支持 return 0;
}

转载于:https://www.cnblogs.com/enjoy233/p/10408791.html

C++版 - 剑指offer 面试题23:从上往下打印二叉树(二叉树的层次遍历BFS) 题解相关推荐

  1. 剑指offer面试题[23]-从上往下打印二叉树(按层序打印)

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. /* struct TreeNode {int val;struct TreeNode *left;struct TreeNode * ...

  2. 剑指offer(21)从上往下打印二叉树

    public class Solution {public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {//创建俩个数列 ...

  3. 剑指offer——面试题23:从上往下打印二叉树

    剑指offer--面试题23:从上往下打印二叉树 Solution1: 典型的BFS算法! 思路一开始没想到,按照书上的思路写的答案... 注意:deque是双向队列,在头尾插入都很快! /* str ...

  4. 剑指offer——面试题5:从尾到头打印链表

    剑指offer--面试题5:从尾到头打印链表 Solution1:我的答案 /** * struct ListNode { * int val; * struct ListNode *next; * ...

  5. C++版 - 剑指Offer 面试题36:数组中的逆序对及其变形(Leetcode 315. Count of Smaller Numbers After Self)题解

    剑指Offer 面试题36:数组中的逆序对 题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数. 例如, 在数组{7,5, ...

  6. C++版 - 剑指offer 面试题39:判断平衡二叉树(LeetCode 110. Balanced Binary Tree) 题解

    剑指offer 面试题39:判断平衡二叉树 提交网址:  http://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222?tpId= ...

  7. [剑指offer]面试题23:从上往下打印二叉树

    面试题23:从上往下打印二叉树 题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印.例如输入图4.5中的二叉树,则依次打印出8.6.10.5.7.9.11. 二叉树结点的定义如下 ...

  8. C++版-剑指offer 面试题6:重建二叉树(Leetcode105. Construct Binary Tree from Preorder and Inorder Traversal) 解题报告

    剑指offer 重建二叉树 提交网址:  http://www.nowcoder.com/practice/8a19cbe657394eeaac2f6ea9b0f6fcf6?tpId=13&t ...

  9. [剑指offer]面试题5:从尾到头打印链表

    面试题5:从尾到头打印链表 题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值. 链表结点定义如下: struct ListNode {int m_nKey;ListNode *m_pNex ...

  10. 剑指offer面试题23:从上到下打印二叉树(树的层序遍历)

    题目:从上往下打印出二叉树的每个节点,同一层的结点按照从左往右的顺序打印. 解题思路:二叉树的层序遍历,在打印一个节点的时候,要把他的子节点保存起来打印第一层要把第二层的节点保存起来, 打印第二层要把 ...

最新文章

  1. 解决github push错误403 Forbidden while accessing
  2. leetcode刷题实录:3
  3. 虚拟目录继承根Web.Config的问题解决(转)
  4. android ocr识别源码_身份证识别OCR解决手动输入繁琐问题
  5. Nginx应用场景之HTTP服务器
  6. 我的第一个 RN 项目-趣闻
  7. 【TI-ONE系列教程(二)】如何使用 TI-ONE 平台内置算子玩转算法大赛
  8. iPhone13 系列售价曝光:没有涨价;曝华为P50系列7月29日发布;丁磊称专业比学校更重要:你同意吗?|极客头条...
  9. linux查看文件写进程,Linux下如何知道文件被那个进程写
  10. 文件路径存入mysql_网站的文件的上传,并将相对路径保存到数据库的代码实现。...
  11. 用C语言求解合式公式的主合取范式和主析取范式
  12. 百度地图WEB服务-全景静态图使用心得
  13. matlab激光扩束总结,zemax笔记14——激光扩束系统的设计
  14. 多伦多大学Self-Driving Cars自动驾驶专项课程(十八)Proportional-Integral-Derivative(PID) Control
  15. 情人节程序员用HTML网页表白【粉色生日祝福网页】TML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  16. 电脑病毒怎么彻底清理?你不知道的8个方法
  17. python进程池multiprocessing.Pool和线程池multiprocessing.dummy.Pool实例
  18. 论文写作神器,SCI 写作必备
  19. C语言数据结构学生成绩 顺序表
  20. 微软亚研副院长周明离职,将出任创新工场AI工程院首席科学家

热门文章

  1. 创建模块化程序(三)
  2. 活动目录概念和灾难恢复
  3. 开放源码软件的安装(tar包安装方法)
  4. php xml 增加节点,PHP往XML中添加节点的方法_php技巧
  5. FRR BGP协议分析8 -- BGP 层3隧道 (2)
  6. Ubuntu 在线升级linux 内核的方法
  7. WiFi HAL 启动
  8. wireshark基本用法及过虑规则
  9. 从应用层修改系统日期和时间
  10. python设置路径变量_python – Bokeh中设置的静态路径变量在哪里(对于create_html_snippet)...