按层遍历二叉树
来源:互联网 发布:激光打标机软件配套 编辑:程序博客网 时间:2024/05/17 09:11
使用C++中的pair类型来存储树的节点和它的层数
vector<vector<int> > levelOrder(TreeNode *root){ vector<vector<int> > vec; if (root == NULL) return vec; queue<pair<TreeNode*, int> > queue; pair<TreeNode*, int> pair(root, 0); //根节点是第0层 queue.push(pair); while (!queue.empty()) { pair = queue.front(); queue.pop(); int val = pair.first->val; int level = pair.second; if (vec.size() <= level) vec.push_back(vector<int>()); //增加一个空的新向量存储新一层数据 vec[level].push_back(val); if (pair.first->left) queue.push(make_pair(pair.first->left, level+1)); if (pair.first->right) queue.push(make_pair(pair.first->right, level+1)); } return vec;}
0 0
- 按层遍历二叉树
- 按层遍历二叉树
- 按层遍历二叉树
- 按层遍历二叉树
- 按层遍历二叉树
- 按层遍历二叉树
- 按层遍历二叉树
- 按层遍历二叉树
- 二叉树层遍历
- 层遍历二叉树
- BST(二叉搜索树)按层遍历
- 递归按层遍历二叉树算法
- 二叉树的按层遍历
- 二叉树(6)----按层遍历二叉树
- 层序遍历二叉树
- 层序遍历二叉树
- 二叉树层次序遍历
- 二叉树的层遍历
- 利用宏实现单例(在宏中写实现方法)
- UNIX文件权限详解(尤其是SUID和SGID)
- jsoncpp linux平台编译和 arm移植
- 蓝桥杯习题
- 读书笔记---Linux常用命令解析
- 按层遍历二叉树
- 题目1134:密码翻译
- deal 用来传值的php
- 剑指offer--矩形覆盖
- 记录自己今天理解的 equals 方法
- 《coredump问题原理探究》Linux x86版7.4节List coredump例子
- 实验楼的laravel 4.2 blog 教程(五)
- 第七周项目三——第8、9章的知识点思维导图
- C++编程命名规范