Skip to content
Programming101
Programmingoneonone

Learn everything about programming

  • Home
  • CS Subjects
    • Internet of Things (IoT)
    • Digital Communication
    • Human Values
  • Programming Tutorials
    • C Programming
    • Data structures and Algorithms
    • 100+ Java Programs
    • 100+ C Programs
  • HackerRank Solutions
    • HackerRank Algorithms Solutions
    • HackerRank C problems solutions
    • HackerRank C++ problems solutions
    • HackerRank Java problems solutions
    • HackerRank Python problems solutions
Programming101
Programmingoneonone

Learn everything about programming

HackerRank Day 24 More Linked Lists 30 days of code solution

YASH PAL, 31 July 2024

In this HackerRank Day 24 More Linked Lists 30 days of code problem set, we need to complete the function removeDuplicates that can delete any node in the linked list that is duplicate. and return the head of the updated list. 

Problem solution in Python 2 programming.

    def removeDuplicates(self,head):
        #Write your code here
        current = head
        while current:
            while current.next and current.data == current.next.data:
                current.next = current.next.next
            current = current.next
        return head

Problem solution in Python 3 programming.

    def removeDuplicates(self,head):
        qu = []
        if head == None:
            return 
        p = head
        qu.append(p.data)
        p = p.next
        while p is not None:
            qu.append(p.data)
            p = p.next
        qu = list(dict.fromkeys(qu))
        for item in qu:
            print(item,end=' ')

Problem solution in java programming.

    public static Node removeDuplicates(Node head) {
        Set<Integer> set = new HashSet<Integer>();
        if (head == null) return head;
        set.add(head.data);
        Node curr = head;
        while (curr.next != null) {
            
            if (set.contains(curr.next.data)) {
                curr.next = curr.next.next;
            } else {
                set.add(curr.next.data);
                curr = curr.next;
            }            
        }
        return head;
    }

Problem solution in c++ programming.

          Node* removeDuplicates(Node *head)
          {
            //Write your code here
              if(head == nullptr){
                  return head;
              }
              
              Node *currentNode = head, *lastNode = head;
              int lastVal = head->data;
              for(;;){
                  currentNode = currentNode->next;
                  if(currentNode == nullptr){
                      break;
                  }
                  
                  int currentVal = currentNode->data;
                  if(currentVal == lastVal){
                      lastNode->next = currentNode->next;
                      currentNode = lastNode;
                  } else {
                    lastVal = currentVal;
                    lastNode = currentNode;
                  }
              }             
              return head;              
          }

Problem solution in c programming.

Node* removeDuplicates(Node *head){
  //Write your code here
    if (head == NULL || head->next == NULL) {
        return head;
    }
    
    Node *prev = head;
    Node *curr = head->next;
    
    while (curr != NULL) {
        if (prev->data == curr->data) {
            prev->next = curr->next;
            free(curr);
            curr = prev->next;
        } else {
            prev = curr;
            curr = curr->next;
        }
    }
    return head;
}

Problem solution in Javascript programming.

    this.removeDuplicates=function(head){
        var prev = null;
        var current = head;
        var arr = [];
        while(current != null) {
            if(arr[arr.length - 1] != current.data) {
                arr.push(current.data);
            } else {
                prev.next = current.next;
            }
            prev = current;
            current = current.next;
        }
        console.log(arr.join(' '));
    }

30 days of code coding problems solutions

Post navigation

Previous post
Next post

Pages

  • About US
  • Contact US
  • Privacy Policy

Programing Practice

  • C Programs
  • java Programs

HackerRank Solutions

  • C
  • C++
  • Java
  • Python
  • Algorithm

Other

  • Leetcode Solutions
  • Interview Preparation

Programming Tutorials

  • DSA
  • C

CS Subjects

  • Digital Communication
  • Human Values
  • Internet Of Things
  • YouTube
  • LinkedIn
  • Facebook
  • Pinterest
  • Instagram
©2025 Programmingoneonone | WordPress Theme by SuperbThemes