From a58721e64e1a9f1e33cc20075e8e14990ea422fa Mon Sep 17 00:00:00 2001 From: YogeshPardeshi <31638743+YogeshPardeshi@users.noreply.github.com> Date: Sat, 23 May 2026 12:17:59 -0400 Subject: [PATCH 1/3] Create Problem1.java Problem1 --- Problem1.java | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Problem1.java diff --git a/Problem1.java b/Problem1.java new file mode 100644 index 00000000..04cd16d0 --- /dev/null +++ b/Problem1.java @@ -0,0 +1,25 @@ +/** + * Definition for singly-linked list. + * public class ListNode { + * int val; + * ListNode next; + * ListNode() {} + * ListNode(int val) { this.val = val; } + * ListNode(int val, ListNode next) { this.val = val; this.next = next; } + * } + */ +class Problem1 { + public ListNode reverseList(ListNode head) { + ListNode prev = null; + ListNode curr = head; + + while(curr != null){ + ListNode temp = curr.next; + curr.next = prev; + prev = curr; + curr = temp; + } + + return prev; + } +} From 4d6f9d181dfbad0a6fe41ddfb81a4a3de7f115b8 Mon Sep 17 00:00:00 2001 From: YogeshPardeshi <31638743+YogeshPardeshi@users.noreply.github.com> Date: Sat, 23 May 2026 12:34:09 -0400 Subject: [PATCH 2/3] Create Problem2.java problem2 --- Problem2.java | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 Problem2.java diff --git a/Problem2.java b/Problem2.java new file mode 100644 index 00000000..839d95ab --- /dev/null +++ b/Problem2.java @@ -0,0 +1,37 @@ +/** + * Definition for singly-linked list. + * public class ListNode { + * int val; + * ListNode next; + * ListNode() {} + * ListNode(int val) { this.val = val; } + * ListNode(int val, ListNode next) { this.val = val; this.next = next; } + * } + */ +class Problem2 { + public ListNode removeNthFromEnd(ListNode head, int n) { + ListNode dummy = new ListNode(-1); + dummy.next = head; + + ListNode slow = dummy; + ListNode fast = dummy; + + int count = 0; + + while(count <= n){ + fast = fast.next; + count++; + } + + while(fast != null){ + slow = slow.next; + fast = fast.next; + } + + ListNode temp = slow.next; + slow.next = slow.next.next; + temp.next = null; + + return dummy.next; + } +} From 06c7b80c1634bdb18256181a86acbc2ac62a01b5 Mon Sep 17 00:00:00 2001 From: YogeshPardeshi <31638743+YogeshPardeshi@users.noreply.github.com> Date: Sat, 23 May 2026 12:37:40 -0400 Subject: [PATCH 3/3] Create Problem3.java --- Problem3.java | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Problem3.java diff --git a/Problem3.java b/Problem3.java new file mode 100644 index 00000000..4a086f4c --- /dev/null +++ b/Problem3.java @@ -0,0 +1,40 @@ +/** + * Definition for singly-linked list. + * class ListNode { + * int val; + * ListNode next; + * ListNode(int x) { + * val = x; + * next = null; + * } + * } + */ +public class Problem3 { + public ListNode detectCycle(ListNode head) { + if(head == null) return null; + ListNode slow = head; + ListNode fast = head; + + boolean flag = false; + + while(fast.next != null && fast.next.next != null){ + slow = slow.next; + fast = fast.next.next; + + if(slow == fast){ + flag = true; + break; + } + } + + if(!flag) return null; + + slow = head; + while(slow != fast){ + slow = slow.next; + fast = fast.next; + } + + return slow; + } +}