LeetCode:Binary Tree Level Order Traversal II (按层遍历)
2015-08-12 16:13
393 查看
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).
For example:
Given binary tree
return its bottom-up level order traversal as:
For example:
Given binary tree
{3,9,20,#,#,15,7},
3 / \ 9 20 / \ 15 7
return its bottom-up level order traversal as:
[ [15,7], [9,20], [3] ]
/** * 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>> levelOrderBottom(TreeNode* root) { vector<vector<int>> result; traversal(root,1,result); reverse(result.begin(),result.end()); //在原先的题的基础上reverse一下即可 return result; } //先序遍历 压入结果 void traversal(TreeNode *node,int level,vector<vector<int>> &result) { if(node==NULL) return; if(level>result.size()) result.push_back(vector<int>()); result[level-1].push_back(node->val); traversal(node->left,level+1,result); traversal(node->right,level+1,result); } };
相关文章推荐
- oracle 毫秒数转换日期
- 随机选择(JS)
- VC获取本机IP 子网掩码 (两种方法)
- 地球坐标,火星坐标,百度坐标转换的php实现
- 打造ArchLinux下的类apt-get source工具
- hdoj 1875 畅通工程再续 (最小生成树之prim算法)
- SSH上传下载功能
- Kaldi学习笔记:跑tidigits样例
- 4、redis之使用commons-pool
- 编写高质量代码改善C#程序的157个建议——建议2: 使用默认转型方法
- 九度oj 1013
- c#引用c++ dll类型转换
- ICML 2015压轴讨论总结:6大神畅谈深度学习的未来
- git创建新的分支
- Cookie && Session && Token
- 2016校招华为机试题目回忆
- 堆内存过大 Grow heap (frag case) to 39.580MB for 2560016-byte allocation
- hdu1754 I Hate It (线段树 更新点的值)
- Java String对象的经典问题
- Android 标签控件