1 题目

给定一个二叉树,返回该二叉树由底层到顶层的层序遍历,(从左向右,从叶子节点到根节点,一层一层的遍历)

2 解法

2.1 我的最初解法

按照正常的层序遍历应该是从上到下的,只要用一个栈先临时存一下每一层的,在循环一遍:

/*** struct TreeNode {*  int val;*   struct TreeNode *left;* struct TreeNode *right;* };*/class Solution {
public:/*** * @param root TreeNode类 * @return int整型vector<vector<>>*/vector<vector<int> > levelOrderBottom(TreeNode* root) {// write code herevector<vector<int>> res;if (root) {stack<vector<int>> tS;queue<TreeNode*> tQ;tQ.push(root);while (!tQ.empty()) {int queueSize = tQ.size();vector<int> tV;for (int i = 0; i < queueSize; i ++) {TreeNode* tmpNode = tQ.front();tQ.pop();tV.push_back(tmpNode->val);if (tmpNode->left)tQ.push(tmpNode->left);if (tmpNode->right)tQ.push(tmpNode->right);}tS.push(tV);}while (!tS.empty()) {vector<int> tV = tS.top();tS.pop();res.push_back(tV);}}return res;}
};

leetcode 107 --- 二叉树程序遍历 ii相关推荐

  1. 二叉树层次遍历c语言_[LeetCode] 107. 二叉树的层次遍历 II

    题目链接 : https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/ 题目描述: 给定一个二叉树,返回其节点值自底 ...

  2. LeetCode 107. 二叉树的层次遍历 II(队列)

    1. 题目 给定一个二叉树,返回其节点值自底向上的层次遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,null,15,7],3/ \9 ...

  3. Leetcode 107. 二叉树的层次遍历 II 解题思路及C++实现

    解题思路: 使用队列实现二叉树的层序遍历,因为题目中要求每一层的val存储在一个vector中,所以在内循环中,还需要一个队列,用以存储更新每一层的节点. 在最后,需要将得到的res数组逆序. /** ...

  4. 47. Leetcode 107 - 二叉树的层次遍历 ii (二叉树-二叉树遍历)

    给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 . (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)示例 1:输入:root = [3,9,20,null,null,15, ...

  5. Leetcode 107.二叉树的层序遍历 II (每日一题 20210628 同类型题)

    给定一个二叉树,返回其节点值自底向上的层序遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如: 给定二叉树 [3,9,20,null,null,15,7],3/ \9 20/ \1 ...

  6. leetcode 107. 二叉树的层次遍历 II(维护两个队列,通过异或运算切换)

    题目 思路 一个比较啰嗦的解法 维护两个queue,当前队列节点的孩子,都放进另外一个队列里去. 树每切换一层,就切换一次队列,并且把新队列的值全部存起来. 整体上来看,是自顶向下遍历,最后翻转整个l ...

  7. leetcode 144 --- 二叉树前序遍历

    1 题目 求给定的二叉树的前序遍历. 2 解法 2.1 递归解法 2.2 非递归解法 前序遍历,先遍历根节点,然后遍历左节点,最后是右节点,所以用栈的方式,先是根节点入栈,然后出栈遍历,如果该节点有左 ...

  8. 【LeetCode】专题一 二叉树层序遍历

    二叉树层序遍历 在本文中,我将会选取LeetCode上二叉树层序遍历的多道例题,并给出解答,通过多道题我们就可以发现,二叉树的层序遍历并不复杂,并且有着共通点. 102. 二叉树的层序遍历 给你二叉树 ...

  9. 【leetcode】二叉树与经典问题

    文章目录 笔记 leetcode [114. 二叉树展开为链表](https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list ...

最新文章

  1. 《Spark与Hadoop大数据分析》——1.2 大数据科学以及Hadoop和Spark在其中承担的角色...
  2. Python-OpenCV 处理图像(三):图像像素点操作
  3. python反射和高阶内置方法
  4. svn中“clean up”死循环问题解决办法
  5. Python之路---------Python介绍
  6. Chrome浏览器如何安装与使用PDFViewer扩展程序
  7. 弹出新窗体 winform 1615018696
  8. 大学生研究生必备的数据竞赛平台
  9. 【链表】剑指offer:从尾到头打印链表
  10. HTML中的几种空格
  11. MAML: meta learning 论文分析
  12. 《互联网周刊》发布2019快时尚品牌排行榜
  13. xp计算机无法正常启动,修复XP系统无法正常启动进入不了计算机的解决办法
  14. IP数据报首部的格式identification
  15. 阿里天池:Airbnb短租房数据集分析
  16. 准备学python用什么电脑_超准《IQ测试》,在线《智商测试》
  17. Linksys路由器被曝多个漏洞
  18. CSP22.3 T4通信系统管理
  19. teablue数据分析_数据分析-05 数据可视化
  20. Ubuntu 安装sogo输入法

热门文章

  1. issubclass在python中的意思_python基础之类的isinstance与issubclass、反射
  2. 混淆矩阵及分类性能评估方法
  3. QT中的QGridLayout布局
  4. ARM 汇编语言入门
  5. C++常用字符串分割方法
  6. android gpu 视频编码,android – 编码器崩溃对Adreno GPU编码从Surface
  7. java炫舞_Java 炫舞按键功能 DancingPlay (整理)
  8. 9 10次c语言上机作业答案,C语言第五次上机作业参考答案
  9. 驱动api_消费者驱动契约已死?
  10. vue修改计算属性的值_Vue语法高级之计算属性和侦听器