题目:

给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)

例如:

思路:采用宽度优先搜索。

时间复杂度: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;
}
};

最新文章

  1. MySQL 高可用架构之MMM
  2. C语言读写文件
  3. HTML+AngularJS+Groovy如何实现登录功能
  4. OC语言BLOCK和协议
  5. 浮动以后父DIV包不住子DIV解决方案
  6. 打造高质量Android应用:Android开发必知的50个诀窍
  7. simplefactory简单工厂模式
  8. UIcollectionView的使用(首页的搭建4)
  9. jquery常用见的正则表达式
  10. CImage类的介绍与使用
  11. Android自定义组合控件内子控件无法显示问题
  12. Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示
  13. caffe2安装
  14. 2019-04-09-day028-OSI七层模型
  15. Java中的内部类————以及jdk1.8的lambda表达式
  16. PHP实现curl和snoopy类模拟登陆方法
  17. 可持久化fhq-treap学习笔记
  18. Web标准:九、CSS表单设计
  19. python pytz 结合时区的日期操作
  20. 洛谷P3457 [POI2007]POW-The Flood [并查集,模拟]

热门文章

  1. windows qt 使用openssl API
  2. jquery html select 清空保留第一项
  3. 同一路由带参刷新,以及params和query两种方式传参的异同
  4. jupyter notebook 使用多个python环境
  5. [WPF]BringIntoView
  6. luogu P2093 [国家集训队]JZPFAR
  7. Js和Jquery实现ajax长轮询
  8. CDH部署StreamSets
  9. Host xxx is not allowed to connect to this MariaDb server
  10. Bloom 过滤器