107. Binary Tree Level Order Traversal II
2016-03-15 23:45
211 查看
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.
题意:二叉树的层序遍历,从底部向上层序遍历。
思路:按正常的从顶至下层序遍历后,逆着存入另一数组即可。参看102. Binary Tree Level Order Traversal
的代码,加上两行即可。
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.
题意:二叉树的层序遍历,从底部向上层序遍历。
思路:按正常的从顶至下层序遍历后,逆着存入另一数组即可。参看102. Binary Tree Level Order Traversal
的代码,加上两行即可。
vector<vector<int>> result(m.rbegin(), m.rend());//构造函数的使用
class Solution { public: vector<vector<int>> levelOrderBottom(TreeNode* root) { vector<vector<int>> m; if (root){ vector<TreeNode*> levelTree1; vector<TreeNode*> levelTree2; levelTree1.push_back(root); while (!(levelTree1.empty() && levelTree2.empty())){ vector<int> p; if (!levelTree1.empty()){ for (int i = 0; i < levelTree1.size(); i++){ TreeNode* t = levelTree1[i]; p.push_back(t->val); if (t->left) levelTree2.push_back(t->left); if (t->right) levelTree2.push_back(t->right); } levelTree1.clear(); } else{ for (int i = 0; i < levelTree2.size(); i++){ TreeNode* t = levelTree2[i]; p.push_back(t->val); if (t->left) levelTree1.push_back(t->left); if (t->right) levelTree1.push_back(t->right); } levelTree2.clear(); } m.push_back(p); } } vector<vector<int>> result(m.rbegin(), m.rend()); return result; } };
相关文章推荐
- cocos2d-js 安卓环境,如何用js代码直接调用java函数
- 《Html+CSS》笔记
- 5.IP选路,动态选路
- 4.ICMP协议,ping和Traceroute
- BFS-迷宫问题-用宽度(广度)优先搜索解决最优路径问题
- 程序员学习之路
- Struts2 标签实现双List遍历(非单独遍历)
- 2016年在读的书
- ACM中TSP问题的解决思路
- 第二次上级报告
- MySql Incorrect key file for table *** 解决方法
- coordinatorLayout 的一个小效果
- 算法系列1、动态规划
- mount --bind 重启后失效的解决办法
- 25.Reverse Nodes in k-Group
- Ant自动化构建项目
- Qt 简介
- 29.UITableViewDataSource详解
- 数据结构(7)线性表之链表C++实现差集
- 单例模式