package com.anuragkapur.ctci.linkedlists; import com.anuragkapur.ds.linkedlist.SinglyLinkedListNode; /** * @author: anuragkapur * @since: 10/06/14 */ public class Prob2_1_1_UnsortedLinkedList { /** * Running time = O(n^2) * * @param singlyLinkedListNode * @return */ public static SinglyLinkedListNode removeDuplicates(SinglyLinkedListNode singlyLinkedListNode) { System.out.println("will remove duplicates"); SinglyLinkedListNode dedupedListNode = singlyLinkedListNode; SinglyLinkedListNode currentNode; while (dedupedListNode != null) { currentNode = dedupedListNode; while (currentNode != null && currentNode.getNext() != null) { if (currentNode.getNext().getPayload().equals(dedupedListNode.getPayload())) { currentNode.setNext(currentNode.getNext().getNext()); } currentNode = currentNode.getNext(); } dedupedListNode = dedupedListNode.getNext(); } return singlyLinkedListNode; } }