剑指offer:面试题32 - I. 从上到下打印二叉树
题目:从上到下打印二叉树
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。
例如:
给定二叉树: [3,9,20,null,null,15,7]
,
3/ \9 20/ \15 7
返回:[3,9,20,15,7]
提示:节点总数 <= 1000
解题:queue队列(先进先出)
class Solution {
public:vector<int> levelOrder(TreeNode* root) {vector<int> res;if(root == nullptr) return res; //判断根节点是否为空queue<TreeNode*> que;que.push(root);while(!que.empty()) {TreeNode* curNode = que.front(); que.pop();if(curNode == nullptr) continue;res.push_back(curNode->val);if(curNode->left) que.push(curNode->left);if(curNode->right) que.push(curNode->right);}return res;}
};
剑指offer:面试题32 - I. 从上到下打印二叉树相关推荐
- 剑指Offer - 面试题32 - III. 从上到下打印二叉树 III(BFS,queue+stack)
1. 题目 请实现一个函数按照之字形顺序打印二叉树, 即第一行按照从左到右的顺序打印, 第二层按照从右到左的顺序打印, 第三行再按照从左到右的顺序打印,其他行以此类推. 例如: 给定二叉树: [3,9 ...
- 剑指Offer - 面试题32 - I. 从上到下打印二叉树(按层BFS遍历,queue)
1. 题目 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印. 例如: 给定二叉树: [3,9,20,null,null,15,7],3/ \9 20/ \15 7 返回: [3,9 ...
- 剑指offer面试题32 - III. 从上到下打印二叉树 III(二叉树)(BFS)
题目描述 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推. 思路 详见链接 代码 class So ...
- 剑指offer面试题32 - I. 从上到下打印二叉树(二叉树)(BFS)
题目描述 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印. 思路 详见链接 代码 class Solution:def levelOrder(self, root:TreeNode ...
- 剑指offer面试题32 - II. 从上到下打印二叉树 II(二叉树)(BFS)
题目描述 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行. 思路 详见链接 代码 class Solution:def levelOrder(self,root:TreeN ...
- 剑指offer——面试题23:从上往下打印二叉树
剑指offer--面试题23:从上往下打印二叉树 Solution1: 典型的BFS算法! 思路一开始没想到,按照书上的思路写的答案... 注意:deque是双向队列,在头尾插入都很快! /* str ...
- [剑指offer]面试题23:从上往下打印二叉树
面试题23:从上往下打印二叉树 题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印.例如输入图4.5中的二叉树,则依次打印出8.6.10.5.7.9.11. 二叉树结点的定义如下 ...
- 剑指offer面试题23:从上到下打印二叉树(树的层序遍历)
题目:从上往下打印出二叉树的每个节点,同一层的结点按照从左往右的顺序打印. 解题思路:二叉树的层序遍历,在打印一个节点的时候,要把他的子节点保存起来打印第一层要把第二层的节点保存起来, 打印第二层要把 ...
- 剑指offer(Java实现) 从上往下打印二叉树
题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 解题思路 利用队列(链表)辅助实现. 代码实现 import java.util.ArrayList; import java.uti ...
- 剑指offer二十二之从上往下打印二叉树
一.题目 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 二.思路 二叉树的层次遍历,可以借助队列实现.具体思路详见注释. 三.代码 import java.util.ArrayList; i ...
最新文章
- JDBC读取新插入Oracle数据库Sequence值的5种方法
- python3 AES 加解密
- 配置Apache2.2+PHP5+CakePHP1.2+MySQL5
- CAS:compare and swap
- linux系统管理之单机系统管理 - 超级用户和进程管理
- 百度人脸识别技术应用003---百度云离线SDK_Android版_功能分析_获取摄像头视频流中的图片_发给百度人脸识别API_识别搜索_或先同步百度云人脸信息_然后本地人脸识别
- html5的video怎么把里面的控制器移出来_6个月宝宝米粉怎么冲,一次吃多少?一天吃几次?关于宝宝米粉的难题,答案都在这了!...
- [学习笔记]中国剩余定理
- Web Api 接口文档制作
- 【字幕制作】从IDX/SUB到PGS的小白入门教程
- 热式气体质量流量计检定规程_新品发布:西尼尔ST51/54热式质量流量计
- html页面布局实验原理,Html设计实验报告.doc
- HTML邮件模板编写规则,编写邮件HTML模板
- ITOP4412----Uboot2020移植记录
- 双非本科生进大厂,而我还在底层默默地爬树(上)
- Kali Linux pyqt5 运行报错xcb
- hbase —— Dead Region Servers
- 一文掌握常见常用Java集合框架
- html5 多点触控 缩放,WebBrowser禁用触摸缩放
- 程序员初创公司的合伙人股权的进入和退出机制设计-20151020