二叉树的层次遍历
来源:互联网 发布:visor是什么软件 编辑:程序博客网 时间:2024/06/03 23:00
给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)
样例
给一棵二叉树 {3,9,20,#,#,15,7}
:
3 / \9 20 / \ 15 7
返回他的分层遍历结果:
[ [3], [9,20], [15,7]]
解题思路:建立两个队列滚动数组进行循环每次统计一层的结点,当两个队列都为空时跳出循环。
class Solution { /** * @param root: The root of binary tree. * @return: Level order a list of lists of integer */public: vector<vector<int>>ans; vector<vector<int>> levelOrder(TreeNode *root) { if(root==NULL)return ans; queue<TreeNode *>tem[2]; tem[0].push(root); int i=0; while(!tem[0].empty()||!tem[1].empty()){ vector<int>t; while(!tem[i].empty()){ t.push_back(tem[i].front()->val); if(tem[i].front()->left!=NULL)tem[(i+1)%2].push(tem[i].front()->left); if(tem[i].front()->right!=NULL)tem[(i+1)%2].push(tem[i].front()->right); tem[i].pop(); } ans.push_back(t); i=(i+1)%2; } return ans; }};
0 0
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历!!!
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- ubuntu 16.04安装jdk出现“java已包含以下软件包”问题的解决方法
- Linux 配置永久DNS解析服务器的方法
- 二叉树的中序遍历
- windows driver kit 7.1.0(简称为wdk7.1) 7600_1 安装方法
- STL之仿函数
- 二叉树的层次遍历
- 说人话之转发和重定向
- 二叉树的层次遍历(BFS),二叉树的所有路径,二叉树的最大路径和(分治)
- stm32的库文件的用法解释
- DispatcherServlet作用
- VLAN原理详解
- 读书笔记《Unix编程艺术》五
- EL 表达式如何获取jsp的内置对象
- Mybatis调用存储过程