Binary Tree Level Order Traversal II
2015-12-08 15:14
302 查看
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:
confused what
read more on how binary tree is serialized on OJ.
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] ]
confused what
"{1,#,2,3}"means? >
read more on how binary tree is serialized on OJ.
/** * 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; if(root == NULL) return result; int curNum = 1; int nextNum = 0; int level = 0; //int i = 0; queue<TreeNode*> qTree; qTree.push(root); vector<int> tmp(0); TreeNode* tNode; while(!qTree.empty()){ tmp.clear(); for(int i=0;i<curNum;i++){ tNode = qTree.front(); qTree.pop(); tmp.push_back(tNode->val); if(tNode->left != NULL){ qTree.push(tNode->left); nextNum++; } if(tNode->right != NULL){ qTree.push(tNode->right); nextNum++; } } curNum = nextNum; nextNum = 0; result.push_back(tmp); } reverse(result.begin(), result.end());//数组反转 return result; } };
相关文章推荐
- Java学习----Java程序结构
- webstorm 11.0.1 破解方法
- oracle 11g行转列 列转行
- Java Web学习总结(22)——使用kaptcha生成验证码
- Java Web学习总结(22)——使用kaptcha生成验证码
- Java Web学习总结(22)——使用kaptcha生成验证码
- 使用kaptcha生成验证码
- 基于 Jenkins 快速搭建持续集成环境
- 动态时间规整(Dynamic Time Warping)
- WebServlet之web.xml
- Remove Nth Node From End Of List
- OC-011.OC中的继承
- 文章标题
- 使用Criteria确定android location
- 自用cocoapods命令整合
- ERROR 1062 (23000) at line 26903: Duplicate entry 'onli????' for key 'xxxx_script_name'
- 【CDH5】-002Cloudera Manager介绍和安装
- JS实现文本框联动
- 简单工厂模式
- C++之动态配置ip信息