LeetCode #107 - Binary Tree Level Order Traversal II
2016-11-03 23:04
537 查看
题目描述:
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:
从上到下得到的层序遍历反过来即可。
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
[3,9,20,null,null,15,7],
3 / \ 9 20 / \ 15 7
return its bottom-up level order traversal as:
[ [15,7], [9,20], [3] ]
从上到下得到的层序遍历反过来即可。
class Solution { public: vector<vector<int>> levelOrderBottom(TreeNode* root) { queue<pair<TreeNode*,int> > q; vector<pair<int,int> > v; if(root==NULL) { vector<vector<int> > result; return result; } else if(root!=NULL) { pair<TreeNode*,int> p; p.first=root; p.second=0; q.push(p); while(!q.empty()) { p=q.front(); pair<int,int> x; x.first=p.first->val; x.second=p.second; v.push_back(x); q.pop(); if(p.first->left!=NULL) { pair<TreeNode*,int> l; l.first=p.first->left; l.second=p.second+1; q.push(l); } if(p.first->right!=NULL) { pair<TreeNode*,int> r; r.first=p.first->right; r.second=p.second+1; q.push(r); } } } int n=v.size(); int m=v[n-1].second; vector<vector<int> > result(m+1); for(int i=0;i<n;i++) { result[v[i].second].push_back(v[i].first); } vector<vector<int> > Result(m+1); for(int i=0,j=m;i<=m&&j>=0;i++,j--) { Result[i]=result[j]; } return Result; } };
相关文章推荐
- leetcode——107——Binary Tree Level Order Traversal II
- leetcode 107 Binary Tree Level Order Traversal II(难易度:Easy)
- Leetcode 107 Binary Tree Level Order Traversal II
- 【LeetCode-107】Binary Tree Level Order Traversal II
- LeetCode 107 Binary Tree Level Order Traversal II
- ( Leetcode 107 ) Binary Tree Level Order Traversal II
- LeetCode107 Binary Tree Level Order Traversal II
- leetcode-107 Binary Tree Level Order Traversal II
- 【LeetCode】C# 107、Binary Tree Level Order Traversal II
- 【LeetCode-面试算法经典-Java实现】【107-Binary Tree Level Order Traversal II(二叉树层序遍历II)】
- [leetcode-107]Binary Tree Level Order Traversal II(java)
- leetcode || 107、Binary Tree Level Order Traversal II
- 【LeetCode】107 - Binary Tree Level Order Traversal II
- 【leetcode c++】107 Binary Tree Level Order Traversal II
- [LeetCode 107] Binary Tree Level Order Traversal II
- leetcode_107题——Binary Tree Level Order Traversal II (二叉树,广度优先搜索,队列,栈)
- [leetcode 107]Binary Tree Level Order Traversal II
- Leetcode-107(Java) Binary Tree Level Order Traversal II
- Java for LeetCode 107 Binary Tree Level Order Traversal II
- LeetCode---(107)Binary Tree Level Order Traversal II