Skip to content

Commit

Permalink
Today's leetcode porblem solution
Browse files Browse the repository at this point in the history
  • Loading branch information
Ayush59699 authored Sep 6, 2024
1 parent 5740408 commit 67ae342
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions Leetcode_3217.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
class Solution {

public ListNode modifiedList(int[] nums, ListNode head) {
// Create a HashSet for efficient lookup of values in nums
Set<Integer> valuesToRemove = new HashSet<>();
for (int num : nums) {
valuesToRemove.add(num);
}

// Handle the case where the head node needs to be removed
while (head != null && valuesToRemove.contains(head.val)) {
head = head.next;
}

// If the list is empty after removing head nodes, return null
if (head == null) {
return null;
}

// Iterate through the list, removing nodes with values in the set
ListNode current = head;
while (current.next != null) {
if (valuesToRemove.contains(current.next.val)) {
// Skip the next node by updating the pointer
current.next = current.next.next;
} else {
// Move to the next node
current = current.next;
}
}

return head;
}
}

0 comments on commit 67ae342

Please sign in to comment.