199. Binary Tree Right Side View
来源:互联网 发布:网络新媒体专业课程 编辑:程序博客网 时间:2024/06/15 05:08
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].
/** * 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<int> rightSideView(TreeNode* root) { vector<int> result; deque<TreeNode*> q; if(!root) return result; q.push_back(root); int count = 0; int to_be_print = 1; while(q.size()){ TreeNode* temp = q.front(); q.pop_front(); to_be_print--; if(temp->left){ q.push_back(temp->left); count++; } if(temp->right){ q.push_back(temp->right); count++; } if(to_be_print == 0) { result.push_back(temp->val); to_be_print = count; count = 0; } } return result; }};//解法二,递归class Solution {public: void helper(TreeNode* root,int level,vector<int>& result) { if(!root) return; if(result.size() < level) result.push_back(root->val); if(root->right) helper(root->right,level+1,result); if(root->left) helper(root->left,level+1,result); } vector<int> rightSideView(TreeNode* root) { vector<int> result; helper(root,1,result); return result; }};
0 0
- Tree-----199. Binary Tree Right Side View
- [LeetCode]199.Binary Tree Right Side View
- LeetCode 199. Binary Tree Right Side View
- [leetcode] 199.Binary Tree Right Side View
- [leetcode] 199. Binary Tree Right Side View
- [LeetCode]199. Binary Tree Right Side View
- 199. Binary Tree Right Side View LeetCode
- leetcode 199. Binary Tree Right Side View
- [LeetCode]199. Binary Tree Right Side View
- [LeetCode]199. Binary Tree Right Side View
- 199. Binary Tree Right Side View
- [LeetCode] 199. Binary Tree Right Side View
- LeetCode *** 199. Binary Tree Right Side View
- LeetCode 199. Binary Tree Right Side View
- 199. Binary Tree Right Side View
- 199. Binary Tree Right Side View
- 199. Binary Tree Right Side View
- 199. Binary Tree Right Side View
- 算法导论之贪心算法:哈夫曼编码
- 【读书笔记】【Android 开发艺术探索】第 9 章 四大组件的工作过程
- Easy Digital Downloads Commissions 佣金分配扩展中文插件
- c++ algorithm 函数简介
- codeforces 675A Infinite Sequence
- 199. Binary Tree Right Side View
- Java图形界面开发—列出指定目录
- 设计模式之原型模式
- C#当前日期时间
- hrbust/哈理工oj 1867 小伙伴的数据结构【树状数组】
- 网络流二十四题之十一 —— 航空路线问题(AIRL)
- 数组—— 2 sum, 3 sum, 3 sum closed, 4Sum.
- 华为在线训练之字符串分隔
- qsys初探————中断注册API