【Leetcode】二叉树的层次遍历
2024-09-05 18:17:15
题目:
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)
例如:
思路:采用宽度优先搜索。
时间复杂度:O(n)。n为节点的数量,遍历所有节点。
空间复杂度:O(n)。创建一个vector容器存储所有节点值。
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
vector<vector<int>> levelOrderBottom(TreeNode* root) {
vector< vector<int> > result;
if (root == NULL)
return result; queue<TreeNode*> q;
q.push(root); while(!q.empty()) {
int len = q.size();
vector<int> temp; for (int i = ; i < len; ++i) {
TreeNode* node = q.front();
q.pop();
temp.push_back(node->val); if(node->left != NULL)
q.push(node->left);
if(node->right != NULL)
q.push(node->right);
}
result.insert(result.begin(), temp);
}
return result;
}
};
最新文章
- MySQL 高可用架构之MMM
- C语言读写文件
- HTML+AngularJS+Groovy如何实现登录功能
- OC语言BLOCK和协议
- 浮动以后父DIV包不住子DIV解决方案
- 打造高质量Android应用:Android开发必知的50个诀窍
- simplefactory简单工厂模式
- UIcollectionView的使用(首页的搭建4)
- jquery常用见的正则表达式
- CImage类的介绍与使用
- Android自定义组合控件内子控件无法显示问题
- Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示
- caffe2安装
- 2019-04-09-day028-OSI七层模型
- Java中的内部类————以及jdk1.8的lambda表达式
- PHP实现curl和snoopy类模拟登陆方法
- 可持久化fhq-treap学习笔记
- Web标准:九、CSS表单设计
- python pytz 结合时区的日期操作
- 洛谷P3457 [POI2007]POW-The Flood [并查集,模拟]