LeetCode Algorithms #102 <Binary Tree Level Order Traversal>
2016-04-13 16:18
495 查看
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).
For example:
Given binary tree
return its level order traversal as:
思路:
因为需要在迭代的时候插入层的信息,所以考虑再开一个函数进行迭代展开。
。。。
解:
For example:
Given binary tree
{3,9,20,#,#,15,7},
3 / \ 9 20 / \ 15 7
return its level order traversal as:
[ [3], [9,20], [15,7] ]
思路:
因为需要在迭代的时候插入层的信息,所以考虑再开一个函数进行迭代展开。
。。。
解:
/** * 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 { private: vector<vector<int>> _resultVector; public: vector<vector<int>> levelOrder(TreeNode* root) { addParticularLevel(root, 0); return _resultVector; } void addParticularLevel(TreeNode* node, int level) { if(node == nullptr) return; if(level == _resultVector.size()) { vector<int> particularLevelVals; _resultVector.push_back(particularLevelVals); } _resultVector[level].push_back(node->val); addParticularLevel(node->left, level+1); addParticularLevel(node->right, level+1); } };
相关文章推荐
- 一、go语言基础流程控制,语法,反射特性--go语言笔记
- Django Admin - 将model的Add(增加功能去掉)
- django定期执行任务
- 编写一个go gRPC的服务
- Got error: 1556: You can't use locks with log tables
- google hash表之dense_hash
- 从搜索结果中进入Product面包屑也包含Category Path
- Go1.6与JVM CMS的垃圾回收对比
- GoldenGate之目录详解
- Why is try {…} finally {…} good; try {…} catch{} bad?
- VNC Viewer远程登录服务器时 点了logout
- 谷歌推出最新图像识别工具Google Cloud Vision API
- I.MX6 driver goto 使用
- Django中的ORM进阶操作
- Golang开发环境搭建-Vim篇
- Go语言展现快速排序算法全过程的思路及代码示例
- deeplab hole algorithm
- HDOJ 4722Good Numbers 数位DP
- SerialControl.start not connected
- 深入解析快速排序算法的原理及其Go语言版实现