【leetcode c++】102 Binary Tree Level Order Traversal
来源:互联网 发布:二手笔记本 知乎 编辑:程序博客网 时间:2024/06/05 02:05
Binary Tree Level Order Traversal
Given a binary tree, return the level ordertraversal of its nodes' values. (ie, from left to right, level by level).
For example:
Given binary tree {3,9,20,#,#,15,7},
return its level order traversal as:
基于等级(深度)的二叉树遍历。
给一棵二叉树,返回它基于等级(深度)的遍历【即. 从左到右地,一级一级地(一层一层地)】
其实还是个遍历,只不过,保存的形式的信息有点要求了而已,那么,我们的递归函数的传参就要考虑一下了,首先二维数组vector<vector<int>>是用来保存结果的,所以我考虑传它的引用,其次,我们需要知道当前节点的等级(深度),我们还需要传一个整型。然后我们就可以根据这个表示等级(深度)的整型来保存信息了。如果当前节点的深度达到一个新深度,也就是说,vector<vector<int>>需要新增一个新的vector<int>了。
代码
/** * 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 {public: vector<vector<int>> levelOrder(TreeNode* root) { vector<vector<int>> res; if(NULL == root) return res; vector<int> temp; res.push_back(temp); int lv = 0; Lv(root, lv, res); return res; } void Lv(TreeNode* root, int lv, vector<vector<int>>& res) { if(NULL == root) return; int thisLv = lv; if(lv >= res.size()) { vector<int> temp; res.push_back(temp); } res[lv].push_back(root->val); Lv(root->left, lv + 1, res); Lv(root->right, lv + 1, res); } };
2015-07-25
0 0
- 【leetcode c++】102 Binary Tree Level Order Traversal
- 【LeetCode-102】Binary Tree Level Order Traversal(C++)
- Leetcode 102 Binary Tree Level Order Traversal
- LeetCode(102)Binary Tree Level Order Traversal
- LeetCode 102 Binary Tree Level Order Traversal
- LeetCode: Binary Tree Level Order Traversal [102]
- [leetcode 102]Binary Tree Level Order Traversal
- [LeetCode 102]Binary Tree Level Order Traversal
- leetCode #102 Binary Tree Level Order Traversal
- leetcode-102 Binary Tree Level Order Traversal
- leetcode || 102、Binary Tree Level Order Traversal
- leetcode #102Binary Tree Level Order Traversal
- Leetcode[102]-Binary Tree Level Order Traversal
- LeetCode 102 Binary Tree Level Order Traversal
- LeetCode---(102)Binary Tree Level Order Traversal
- leetcode 102 Binary Tree Level Order Traversal
- leetcode[102]:Binary Tree Level Order Traversal
- Leetcode # 102 Binary Tree Level Order Traversal
- 浮点数转换成字符串函数
- codeforces 560 A. Currency System in Geraldion
- 数据结构---单链表(1)
- 【图论】【二分图匹配】[BZOJ 1085]完美的牛栏
- 手动控制事务
- 【leetcode c++】102 Binary Tree Level Order Traversal
- Jquery实现行内编辑
- Java中AtomicInteger的使用!!!
- Java 集合类图 详解
- Spring@Autowired注解与自动装配
- 国内外三个不同领域巨头分享的Redis实战经验及使用场景
- 笔记117--AsyncTask随Activity结束而终止
- 【YII2学习笔记】20150727-1
- Java虚拟机垃圾收集器