leetCode(22):Binary Tree Level Order Traversal II
2015-06-22 09:09
363 查看
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) { queue<TreeNode*> nodes; vector< vector<int> > result; vector<int> tmp; if(NULL==root) return result; nodes.push(root); while(!nodes.empty()) { int length=nodes.size(); int i=0; while(i<length) {//弹出本层所有结点后,跳出循环,length的值在循环时是不会改变的 TreeNode* tmpNode=nodes.front(); tmp.push_back(tmpNode->val); if(tmpNode->left) nodes.push(tmpNode->left); if(tmpNode->right) nodes.push(tmpNode->right); nodes.pop(); i++; } result.push_back(tmp); tmp.clear(); } reverse(result.begin(),result.end()); return result; } };
又是层序遍历的方式,层序遍历反复出现过多次:求二叉树的最小深度、右侧能看到的结点、统计特殊形式的二叉树结点个数...
相关文章推荐
- leetCode(22):Binary Tree Level Order Traversal II 分类: leetCode 2015-06-22 09:09 145人阅读 评论(0) 收藏
- 滑动插件(TouchSlide)
- NYOJ 925国王的烦恼(最小生成树变一下)
- JQ DOM操作
- C语言常用的几个算法
- 转载的,linux 14.04安装双显卡的驱动,切换
- 推荐下 刘慈欣的《科学中的故事资源》
- 【Java EE 学习 21 上】【其它类型的监听器】【使用HttpSessionActivationListener监听session的活化和钝化】
- SPSS 统计图形
- WSUS自动更新之后检查重启状态
- WSUS自动更新之后检查重启状态
- LeetCode 202. Happy Number
- 微软确认:Win10预览版可免费升级正式版并保留激活
- leetCode(21):Binary Tree Right Side View
- leetCode(21):Binary Tree Right Side View 分类: leetCode 2015-06-22 09:00 140人阅读 评论(0) 收藏
- Sublime text3
- 3.多分类的逻辑回归
- 3.多分类的逻辑回归
- Mysql常用命令
- DHCP Option 60 认识