leetcode515
/**
* Definition for a binary tree node.
* public class TreeNode {
* public int val;
* public TreeNode left;
* public TreeNode right;
* public TreeNode(int x) { val = x; }
* }
*/
public class Solution {
Queue<TreeNode> Q = new Queue<TreeNode>(); private List<TreeNode> FloorSearch()
{
var floor = new List<TreeNode>(); while (Q.Count > )
{
var node = Q.Dequeue();//出来一个节点,放入其左右子节点
//将当前节点放入floor中
floor.Add(node);
} foreach (var f in floor)
{
if (f.left != null)
{
Q.Enqueue(f.left);
}
if (f.right != null)
{
Q.Enqueue(f.right);
}
}
return floor;
} public IList<int> LargestValues(TreeNode root)
{
var list = new List<int>(); //层次遍历,每一层加入到一个list中,然后再从list中找最大的值
if (root == null)
{
return new List<int>();
}
Q.Enqueue(root);
var floor = new List<TreeNode>();
do
{
floor = FloorSearch();
if (floor.Count > )
{
var max = floor.Max(x => x.val);
list.Add(max);
}
} while (floor.Count > ); return list;
}
}
https://leetcode.com/problems/find-largest-value-in-each-tree-row/#/description
leetcode515的更多相关文章
- [Swift]LeetCode515. 在每个树行中找最大值 | Find Largest Value in Each Tree Row
You need to find the largest value in each row of a binary tree. Example: Input: 1 / \ 3 2 / \ \ 5 3 ...
- Leetcode515. Find Largest Value in Each Tree Row在每个树行中找最大值
您需要在二叉树的每一行中找到最大的值. 示例: 输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9] class Solution { public: vector<i ...
- Python-一些实用的函数
一,返回值为bool类型的函数 1.any()函数 any(iterable)->bool 当迭代器中有一个是Ture,则返回Ture:若interable=NUll,则返回False. > ...
- Python常用函数及说明
原文地址:博客园 CSDN 基本定制型C.__init__(self[, arg1, ...]) 构造器(带一些可选的参数)C.__new__(self[, arg1, ...]) 构造器(带一些可 ...
- LeetCode 515. 在每个树行中找最大值(Find Largest Value in Each Tree Row)
515. 在每个树行中找最大值 515. Find Largest Value in Each Tree Row 题目描述 You need to find the largest value in ...
- LeetCode通关:连刷三十九道二叉树,刷疯了!
分门别类刷算法,坚持,进步! 刷题路线参考:https://github.com/youngyangyang04/leetcode-master 大家好,我是拿输出博客来督促自己刷题的老三,这一节我们 ...
随机推荐
- 【javascript】js处理字符串
javascript常用方法锦集: 处理字符串 在Javascript除了使用数组和对象 String.replace(regexp | replaceThis,replaceWith |callba ...
- IOS在Document目录下创建文件夹、保存、读取、以及删除文件
// 在Documents目录下创建一个名为LaunchImage的文件夹 NSString *path = [[NSHomeDirectory() stringByAppendingPathComp ...
- Roslyn 的确定性构建
注意到每次编译完之后,你的 dll 或者 exe 是不一样的吗?本来这并没有什么大不了的,但大家都知道数字和鹅厂的安全软件遍布在我们大(tiān)陆(cháo)地区的大量电脑上,它们的查杀策略是——凡 ...
- SmartSql 动态仓储
动态代理仓储 SmartSql源码:https://github.com/Ahoo-Wang/SmartSql 简介 动态代理仓储(SmartSql.DyRepository)组件是SmartSql非 ...
- MSDN中回调函数的讲解及其C#例子:用委托实现回调函数
转自:http://blog.csdn.net/sizheng0320/article/details/1615777 ms-help://MS.MSDNQTR.2003FEB.2052/cpguid ...
- WPF自定义组件,自定义属性(依赖属性)
正常定义的以来属性,在XAML里设置值得时候是不触发Setter的,只能在code中用. 监听PropertyChangedCallback事件可以感知XAML里的设置,这样才能code和XAML配合 ...
- E519: Option not supported: fileencodings
怒转,来自http://blog.chinaunix.net/uid-10671107-id-2943841.html,感谢分享. vim中文乱码,原来是编译就除了问题,看来还不一定是不是坑爹的red ...
- sysbench 1.0.9 mysql 压测工具安装使用
备注: 安装比较简单,可以使用源码或者使用yum 进行安装,本次测试使用yum 注意1.0 之后版本与老版本改动比较大,好多地方都有修改,本次测试使用 的mysql 使用docker ...
- linux中sar的详细使用
在使用UNIX操作系统的过程中,我们常常会用到各种各样的问题,比如系统运行速度突然变慢,系统容易死机或者主机所带的终端常出现死机,这时我们常常猜测,是硬盘空间太小,还是内存不足?I/O出现瓶颈,或者是 ...
- Python控制台输出不换行(进度条等)
sys.stdout.write('\r'+str) sys.stdout.flush() time.sleep(1)