linked list - removal operations



public class removeNodeAndDuplicates {
Node head;


public void removeDuplicates() {
    Node temp = head;
    while(temp!=null && temp.next!=null) {
        if(temp.data == temp.next.data) {
            temp.next = temp.next.next;
        }
        else {
        temp= temp.next;
        }
    }
}

public void deleteNode(int data) {
    System.out.println("removing node is "+data);
    Node temp = head;
    while(temp!=null && temp.next!=null) {
        if(temp.next.data == data) {
            temp.next = temp.next.next;
        }
        temp= temp.next;
    }
}
public void printNodes() {
    Node temp = head;
    while(temp!=null) {
        System.out.print(temp.data+"-->");
        temp = temp.next;
    }
}


    public static void main(String[] args) {
        removeNodeAndDuplicates l = new removeNodeAndDuplicates();
        l.head = new Node(1);
        l.head.next = new Node(2);
        l.head.next.next = new Node(2);
        //l.head.next.next = new Node(3);
        l.head.next.next.next = new Node(4);
        l.head.next.next.next.next = new Node(6);
        l.printNodes();
        System.out.println("\n========remove Duplicates========");
        l.removeDuplicates();
        l.printNodes();
        System.out.println("\n remove particular node ");
      
        l.printNodes();
        l.deleteNode(4);
        System.out.println("\n");
        System.out.println("========remove node========");
        l.printNodes();
        
        
    }


}

Comments