Leetcode NO.199 Binary Tree Right Side View
来源:互联网 发布:xp下安装linux双系统 编辑:程序博客网 时间:2024/05/16 02:05
本题题目要求如下:
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]
.
我的思路未必是最简的,毕竟挺耗空间的。。但是时间复杂度还是不错的。。
思路如下:
- 常规的DFS,只不过在DFS上面加入了层数,比如1在第一层,2,3在第二层。。。都存在二维数组中,第一维是level
- 这样跑DFS,recursive中,优先搜索左边的node,这样会保证同一层的访问顺序必然是从左到右。。。
- 然后把每层对应数组的最后一个数提取出来,就可以返回答案
/** * 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) { dfs(root, 0); vector<int> ret; for (int i = 0; i < res.size(); ++i) { ret.push_back(res[i].back()); } return ret; }private:vector<vector<int>> res;void dfs(TreeNode* root, int level) {if (root == NULL)return;if (level == res.size()) {vector<int> tmp;res.push_back(tmp);}res[level].push_back(root->val);dfs(root->left, level+1);dfs(root->right, level+1);}};
0 0
- Leetcode NO.199 Binary Tree Right Side View
- leetCode No.199 Binary Tree Right Side View
- LeetCode No.199 Binary Tree Right Side View
- [leetcode] 199 Binary Tree Right Side View
- leetcode-199 Binary Tree Right Side View
- 199Binary 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
- Binary Tree Right Side View - LeetCode 199
- leetcode[199]:Binary Tree Right Side View
- 【Leetcode】Binary Tree Right Side View #199
- 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
- LeetCode 199 Binary Tree Right Side View
- 怎么打开在.bashrc文件以及设置颜色
- linux的 .bashrc文件是干什么的?
- 算法分析: 求最长的递增数列
- Linux: grep command
- 编译器优化对函数的影响
- Leetcode NO.199 Binary Tree Right Side View
- Multiply Strings - LeetCode
- Java String.length()
- 黑马程序员IOS基础---C语言学习之基本运算
- MongoDB 基础(五)备份还原与导出导入
- MongoDB 基础(四)Red Hat Enterprise 6.4 x64 安装MongDB 3.0及配置
- MongoDB 基础(一)Windows XP 32位安装mongodb及其目录结构和配置
- MFC选择文件夹对话框,选择文件路径
- 构建自己的AngularJS,第一部分:Scope和Digest