This commit is contained in:
Electrominch
2022-10-08 01:07:50 +03:00
parent 5cae083979
commit c019e8856c
13 changed files with 271 additions and 7 deletions

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_141._Linked_List_Cycle</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,14 @@
namespace _141._Linked_List_Cycle;
//Definition for singly-linked list.
public class ListNode
{
public int val;
public ListNode? next;
public ListNode(int x)
{
val = x;
next = null;
}
}

View File

@@ -0,0 +1,9 @@
namespace _141._Linked_List_Cycle;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}

View File

@@ -0,0 +1,23 @@
namespace _141._Linked_List_Cycle;
public class Solution
{
public bool HasCycle(ListNode head)
{
if (head == null)
return false;
ListNode? cur = head;
int bit = 1 << 28;
int curAbs = 0;
while (cur != null && (curAbs & bit) == 0)
{
cur.val ^= bit;
cur = cur.next;
if (cur != null)
curAbs = cur.val < 0 ? (cur.val * -1) : cur.val;
}
if ((curAbs & bit) != 0)
return true;
return false;
}
}