Day10
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<RootNamespace>_116._Populating_Next_Right_Pointers_in_Each_Node</RootNamespace>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
25
116. Populating Next Right Pointers in Each Node/Node.cs
Normal file
25
116. Populating Next Right Pointers in Each Node/Node.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
namespace _116._Populating_Next_Right_Pointers_in_Each_Node;
|
||||
|
||||
// Definition for a Node.
|
||||
public class Node
|
||||
{
|
||||
public int val;
|
||||
public Node? left;
|
||||
public Node? right;
|
||||
public Node? next;
|
||||
|
||||
public Node() { }
|
||||
|
||||
public Node(int _val)
|
||||
{
|
||||
val = _val;
|
||||
}
|
||||
|
||||
public Node(int _val, Node? _left, Node? _right, Node? _next)
|
||||
{
|
||||
val = _val;
|
||||
left = _left;
|
||||
right = _right;
|
||||
next = _next;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace _116._Populating_Next_Right_Pointers_in_Each_Node;
|
||||
|
||||
internal class Program
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
Console.WriteLine("Hello, World!");
|
||||
}
|
||||
}
|
||||
31
116. Populating Next Right Pointers in Each Node/Solution.cs
Normal file
31
116. Populating Next Right Pointers in Each Node/Solution.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
namespace _116._Populating_Next_Right_Pointers_in_Each_Node;
|
||||
|
||||
public class Solution
|
||||
{
|
||||
public Node? Connect(Node? root)
|
||||
{
|
||||
if (root == null)
|
||||
return null;
|
||||
List<Node> curLevel = new List<Node>() { root };
|
||||
List<Node> nextLevel = new List<Node>();
|
||||
while (curLevel.Count > 0)
|
||||
{
|
||||
for (int i = 0; i < curLevel.Count - 1; i++)
|
||||
curLevel[i].next = curLevel[i + 1];
|
||||
nextLevel.Clear();
|
||||
foreach (var n in curLevel)
|
||||
{
|
||||
if (n == null)
|
||||
continue;
|
||||
if (n.left != null)
|
||||
nextLevel.Add(n.left);
|
||||
if (n.right != null)
|
||||
nextLevel.Add(n.right);
|
||||
}
|
||||
List<Node> buf = curLevel;
|
||||
curLevel = nextLevel;
|
||||
nextLevel = buf;
|
||||
}
|
||||
return root;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user