LeetCode #199 - Binary Tree Right Side View
2016-11-03 23:17
260 查看
题目描述:
Given a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.
For example:
Given the following binary tree,
You should return
层序遍历的每一层的最后一位即为所求。
Given a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.
For example:
Given the following binary tree,
1 <--- / \ 2 3 <--- \ \ 5 4 <---
You should return
[1, 3, 4].
层序遍历的每一层的最后一位即为所求。
class Solution { public: vector<int> rightSideView(TreeNode* root) { queue<pair<TreeNode*,int> > q; vector<pair<int,int> > v; if(root==NULL) { 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<int> Result(m+1); for(int i=0;i<=m;i++) { Result[i]=result[i].back(); } return Result; } };
相关文章推荐
- Java for LeetCode 199 Binary Tree Right Side View
- leetcode[199]:Binary Tree Right Side View
- [LeetCode 199] Binary Tree Right Side View
- 8.8 LeetCode 199 Binary Tree Right Side View
- [leetcode 199]Binary Tree Right Side View
- leetCode 101/199-Symmetric Tree/Binary Tree Right Side View
- 【LeetCode-面试算法经典-Java实现】【199-Binary Tree Right Side View(从右边看二叉树)】
- leetcode_199题——Binary Tree Right Side View(广度优先搜索,队列queue)
- [leetcode-199]Binary Tree Right Side View(java)
- 199. Binary Tree Right Side View Leetcode Python
- LeetCode 199-Binary Tree Right Side View
- [LeetCode] 199 - Binary Tree Right Side View
- Binary Tree Right Side View - LeetCode 199
- Leetcode 199 Binary Tree Right Side View 二叉树右视图
- Leetcode 199 Binary Tree Right Side View
- Leetcode 199: Binary Tree Right Side View
- Leetcode-199(Java) Binary Tree Right Side View
- [Leetcode 199, Medium] Binary Tree Right Side View
- LeetCode199——Binary Tree Right Side View
- leetcode 199: Binary Tree Right Side View