Q20 Remove Duplicates from Sorted List II - LeetCode
Wed Jan 18 2023 06:20:49 GMT+0000 (Coordinated Universal Time)
Saved by
@Ayush_dabas07
/**
* 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 Solution {
public ListNode deleteDuplicates(ListNode head) {
if(head == null || head.next ==null) return head;
ListNode dummyhead = new ListNode(-1);
ListNode dummy = dummyhead;
dummy.next = head; //potential unique element
ListNode curr =head.next;
while(curr!=null){
boolean flag = false;
//going into this loop means there are duplicate elements
while(curr!=null && dummy.next.val == curr.val){
flag = true;
curr=curr.next;
}
//loop runs till curr is at a unique element
if(flag){
dummy.next = curr; //changing potential unique element
}
//we already had the right unique potential element
else{
dummy = dummy.next;
}
if(curr!=null)curr = curr.next;
}
return dummyhead.next;
}
}
content_copyCOPY
https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/
Comments