Java remove duplicates from linked list

后端 未结 5 1694
眼角桃花
眼角桃花 2021-01-27 14:20

I want to remove duplicates from sorted linked list {0 1 2 2 3 3 4 5}.

`

public Node removeDuplicates(Node header)
{
    Node tempHeader = null;
    if(         


        
5条回答
  •  轮回少年
    2021-01-27 14:58

    By DoublyLinked List and using HashSet,

      public static void deleteDups(Node n) {
        HashSet set = new HashSet();
        Node previous = null;
        while (n != null) {
            if (set.contains(n.data)) {
                previous.next = n.next;
            } else {
                set.add(n.data);
                previous = n;
            }
            n = n.next;
        }
    }
    

    doublylinkedList

    class Node{
    
    public Node next;
    public Node prev;
    public Node last;
    public int data;
    public Node (int d, Node n, Node p) {
        data = d;
        setNext(n);
        setPrevious(p);
    }
    
    public Node() { }
    
    public void setNext(Node n) {
        next = n;
        if (this == last) {
            last = n;
        }
        if (n != null && n.prev != this) {
            n.setPrevious(this);
        }
    }
    
    public void setPrevious(Node p) {
        prev = p;
        if (p != null && p.next != this) {
            p.setNext(this);
        }
    }}
    

提交回复
热议问题