Binary Tree Right Side View
来源:互联网 发布:淘宝优惠券推广渠道 编辑:程序博客网 时间:2024/06/05 10:45
原题:
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].
解题:
其实考察的是树的层序遍历,每遍历一层就存储这一层左右边的元素(从右向左看),递归实现即可,比较简单。可以AC的C++代码如下:
vector<int> rightSideView(TreeNode* root) { queue<TreeNode* > q; vector<int> ret; if(!root) return ret; TreeNode *pCur; q.push(root); queue<TreeNode* > layer, temp; while(!q.empty()){ while(!q.empty()){ pCur = q.front(); q.pop(); if(q.size() == 0) ret.push_back(pCur->val); if(pCur->left){ layer.push(pCur->left); } if(pCur->right){ layer.push(pCur->right); } } temp = q; q = layer; layer = temp; } return ret; }
0 0
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- NYOJ 128 前缀式计算
- 较详细的介绍JNI
- Nginx出现413 Request Entity Too Large错误解决方法
- Uva-11988 - Broken Keyboard (a.k.a. Beiju Text)(链表)
- STL学习----入门(1)[unordered_set]
- Binary Tree Right Side View
- 排序算法小结
- 黑马程序员——集合(二)Set
- UIKeyboard
- 2015.8.24
- Unity实现截图功能详解
- hdoj 1052 Tian Ji -- The Horse Racing【田忌赛马,贪心】
- swift 动画
- Atlassian 产品安装、管理中出现的问题集锦