从上往下打印出二叉树的每个节点,同层节点从左至右打印(剑指offer,面试题32)
来源:互联网 发布:centos中文输入法切换 编辑:程序博客网 时间:2024/06/01 09:31
题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
题目思路:
采用一个例子说明:
8,6,10,5,7,9,11.
对于第一层,只有根节点 “8”,第二层有节点“6”和“10”。
从根节点分析,为了能够接下来打印节点为8的两个子节点,我们应该在遍历到该节点时把值为6 和 10 的两个节点保存到一个容器里。按照从左向右打印的要求,取出6,保存其两个子节点“5”和“7”。随后取出10,保存其子节点“9”和“11”。
可以看出,这是一个先进先出的容器。使用队列进行保存。
/*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> res; if(root == nullptr) return res; queue<TreeNode*> que; que.push(root); while(!que.empty()) { TreeNode* node = que.front(); if(node->left){ que.push(node->left); } if(node->right){ que.push(node->right); } res.push_back(node->val); que.pop(); } return res; }};
阅读全文
0 0
- 从上往下打印出二叉树的每个节点,同层节点从左至右打印(剑指offer,面试题32)
- 剑指offer-07-从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- 剑指offer:从上往下打印出二叉树的每个节点,同层节点从左至右打印
- 剑指offer-从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- 从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- 从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- 从上往下打印出二叉树的每个节点,同层节点从左至右打印
- 从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- 从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- 从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- C++从上往下打印出二叉树的每个节点,同层节点从左至右打印(牛客剑指offer)
- 《剑指Offer》面试题:从上往下打印出二叉树的每个节点
- 《剑指Offer》面试题:从上往下打印出二叉树的每个节点
- 剑指offer java编程——从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 java
- java 从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- 19.从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- java实现从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- 开源中国git项目提交
- Redis 配置
- caffe(6) 训练自己的CNN网络—图像数据转换成lmdb文件
- js 解析器 面试题 闭包
- 互为变形词
- 从上往下打印出二叉树的每个节点,同层节点从左至右打印(剑指offer,面试题32)
- 如何掌握多门编程语言
- Frog's Jumping(欧拉函数 金马五校赛-东华大学)
- jQuery节点的css设置
- Java 高精度开根!(BZOJ 1213)
- Android图片加载框架Glide用法
- 玲珑oj 1143
- android手机切换飞行模式导致百度地图显示蓝屏解决方案
- spring初始化报错