1
0
Fork 0
mirror of https://gitlab.com/mfocko/LeetCode.git synced 2024-11-10 00:09:06 +01:00

chore(cs): format

Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
Matej Focko 2024-03-15 17:22:58 +01:00
parent 09d5c6dc4e
commit 4763cdbdda
Signed by: mfocko
GPG key ID: 7C47D46246790496
4 changed files with 63 additions and 75 deletions

View file

@ -1,10 +1,8 @@
public class TreeNode public class TreeNode {
{
public int val; public int val;
public TreeNode? left; public TreeNode? left;
public TreeNode? right; public TreeNode? right;
public TreeNode(int val = 0, TreeNode? left = null, TreeNode? right = null) public TreeNode(int val = 0, TreeNode? left = null, TreeNode? right = null) {
{
this.val = val; this.val = val;
this.left = left; this.left = left;
this.right = right; this.right = right;
@ -12,40 +10,32 @@
} }
public class Solution public class Solution {
{ private class Level {
private class Level
{
long sum; long sum;
int counter; int counter;
public Level() public Level() {
{
sum = 0; sum = 0;
counter = 0; counter = 0;
} }
public void Add(int x) public void Add(int x) {
{
sum += x; sum += x;
counter++; counter++;
} }
public double Average public double Average {
{
get => sum / (double)counter; get => sum / (double)counter;
} }
} }
private List<Level> AverageOfLevels(List<Level> averages, TreeNode? node, int level) private List<Level> AverageOfLevels(List<Level> averages, TreeNode? node, int level) {
{ if (node == null) {
if (node == null)
{
return averages; return averages;
} }
if (level == averages.Count) if (level == averages.Count) {
{
averages.Add(new Level()); averages.Add(new Level());
} }
averages[level].Add(node.val); averages[level].Add(node.val);
@ -59,12 +49,10 @@ public class Solution
public IList<double> AverageOfLevels(TreeNode? root) public IList<double> AverageOfLevels(TreeNode? root)
=> AverageOfLevels(new List<Level>(), root, 0).Select(level => level.Average).ToList(); => AverageOfLevels(new List<Level>(), root, 0).Select(level => level.Average).ToList();
public static void Main() public static void Main() {
{
var s = new Solution(); var s = new Solution();
foreach (var a in s.AverageOfLevels(new TreeNode(3, new TreeNode(9), new TreeNode(20, new TreeNode(15), new TreeNode(7))))) foreach (var a in s.AverageOfLevels(new TreeNode(3, new TreeNode(9), new TreeNode(20, new TreeNode(15), new TreeNode(7))))) {
{
Console.Write($"{a} "); Console.Write($"{a} ");
} }
Console.WriteLine(); Console.WriteLine();