leetcode 107 --- 二叉树程序遍历 ii
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相关推荐
- 二叉树层次遍历c语言_[LeetCode] 107. 二叉树的层次遍历 II
题目链接 : https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/ 题目描述: 给定一个二叉树,返回其节点值自底 ...
- LeetCode 107. 二叉树的层次遍历 II(队列)
1. 题目 给定一个二叉树,返回其节点值自底向上的层次遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,null,15,7],3/ \9 ...
- Leetcode 107. 二叉树的层次遍历 II 解题思路及C++实现
解题思路: 使用队列实现二叉树的层序遍历,因为题目中要求每一层的val存储在一个vector中,所以在内循环中,还需要一个队列,用以存储更新每一层的节点. 在最后,需要将得到的res数组逆序. /** ...
- 47. Leetcode 107 - 二叉树的层次遍历 ii (二叉树-二叉树遍历)
给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 . (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)示例 1:输入:root = [3,9,20,null,null,15, ...
- Leetcode 107.二叉树的层序遍历 II (每日一题 20210628 同类型题)
给定一个二叉树,返回其节点值自底向上的层序遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如: 给定二叉树 [3,9,20,null,null,15,7],3/ \9 20/ \1 ...
- leetcode 107. 二叉树的层次遍历 II(维护两个队列,通过异或运算切换)
题目 思路 一个比较啰嗦的解法 维护两个queue,当前队列节点的孩子,都放进另外一个队列里去. 树每切换一层,就切换一次队列,并且把新队列的值全部存起来. 整体上来看,是自顶向下遍历,最后翻转整个l ...
- leetcode 144 --- 二叉树前序遍历
1 题目 求给定的二叉树的前序遍历. 2 解法 2.1 递归解法 2.2 非递归解法 前序遍历,先遍历根节点,然后遍历左节点,最后是右节点,所以用栈的方式,先是根节点入栈,然后出栈遍历,如果该节点有左 ...
- 【LeetCode】专题一 二叉树层序遍历
二叉树层序遍历 在本文中,我将会选取LeetCode上二叉树层序遍历的多道例题,并给出解答,通过多道题我们就可以发现,二叉树的层序遍历并不复杂,并且有着共通点. 102. 二叉树的层序遍历 给你二叉树 ...
- 【leetcode】二叉树与经典问题
文章目录 笔记 leetcode [114. 二叉树展开为链表](https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list ...
最新文章
- 《Spark与Hadoop大数据分析》——1.2 大数据科学以及Hadoop和Spark在其中承担的角色...
- Python-OpenCV 处理图像(三):图像像素点操作
- python反射和高阶内置方法
- svn中“clean up”死循环问题解决办法
- Python之路---------Python介绍
- Chrome浏览器如何安装与使用PDFViewer扩展程序
- 弹出新窗体 winform 1615018696
- 大学生研究生必备的数据竞赛平台
- 【链表】剑指offer:从尾到头打印链表
- HTML中的几种空格
- MAML: meta learning 论文分析
- 《互联网周刊》发布2019快时尚品牌排行榜
- xp计算机无法正常启动,修复XP系统无法正常启动进入不了计算机的解决办法
- IP数据报首部的格式identification
- 阿里天池:Airbnb短租房数据集分析
- 准备学python用什么电脑_超准《IQ测试》,在线《智商测试》
- Linksys路由器被曝多个漏洞
- CSP22.3 T4通信系统管理
- teablue数据分析_数据分析-05 数据可视化
- Ubuntu 安装sogo输入法
热门文章
- issubclass在python中的意思_python基础之类的isinstance与issubclass、反射
- 混淆矩阵及分类性能评估方法
- QT中的QGridLayout布局
- ARM 汇编语言入门
- C++常用字符串分割方法
- android gpu 视频编码,android – 编码器崩溃对Adreno GPU编码从Surface
- java炫舞_Java 炫舞按键功能 DancingPlay (整理)
- 9 10次c语言上机作业答案,C语言第五次上机作业参考答案
- 驱动api_消费者驱动契约已死?
- vue修改计算属性的值_Vue语法高级之计算属性和侦听器