LeetCode解题报告 199. Binary Tree Right Side View [medium]
来源:互联网 发布:达达主义摄影知乎 编辑:程序博客网 时间:2024/06/06 16:56
题目描述
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: //int count=0; void levelrecusion(int level, TreeNode* p, vector<int>&res){ //count++; if (p==NULL) { return; } cout << count<<"test1" << endl; if (res.size()<level) { res.push_back(p->val); //cout << count<<"test2" << endl; } levelrecusion(level+1, p->right, res); //cout << count<< "test3" << endl; levelrecusion(level+1, p->left, res); //cout << count<< "test4" << endl; } vector<int> rightSideView(TreeNode* root) { vector<int>result; levelrecusion(1, root, result); return result; }};
0 0
- LeetCode解题报告 199. Binary Tree Right Side View [medium]
- [leetcode] 199. Binary Tree Right Side View 解题报告
- LeetCode 199. Binary Tree Right Side View 解题报告
- [Leetcode] 199. Binary Tree Right Side View 解题报告
- 【LeetCode】Binary Tree Right Side View 解题报告
- LeetCode-Binary Tree Right Side View-解题报告
- LeetCode(199) Binary Tree Right Side View解题报告
- 199. Binary Tree Right Side View (Medium)
- [Leetcode 199, Medium] Binary Tree Right Side View
- LeetCode #199 - Binary Tree Right Side View - Medium
- 解题报告: #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(363):Max Sum of Rectangle No Larger Than K
- javaWeb核心技术四
- 懒加载与私有事件---单例与私有化构造函数
- 使用瓜娃(guava)的选择和预判断使代码变得简洁
- LeetCode解题报告 199. Binary Tree Right Side View [medium]
- 一些常用的docker 命令
- 装饰模式
- poj 3258河石(二分的妙用)
- 剑指Offer之面试题3:二维数组中的查找
- JSP环境探针-当前电脑所有系统参数
- PHPStorm技巧篇 -- 全局搜索
- ThinkpadE450 Win8改Win7 BIOS设置图解
- 剑指Offer之面试题4:替换空格