不属于真正的链表去重,未对原来的链表进行修改,而是另外创建了一个链表

来自:https://blog.csdn.net/futureflyme/article/details/72780789

package interview;
import java.util.*;

//定义节点结构
class Node {
    int data;
    Node next = null;
    Node(int data) {
        this.data = data;
    }
}

public  class TestDuplicate {
    public static void main(String[] args) {

        int [] arr=new int[] {5,4,4,3,3,2,1};

        //定义一个for循环,每次在链表头部插入元素,从而创建一个链表
        Node head1=null;
        for(int i=0;i set = new HashSet();
        Node tempNode = phead;
        while (tempNode != null) {
            set.add(tempNode.data);
            tempNode = tempNode.next;
        }
        //for循环,每次在链表的尾部插入元素,从而创建一个链表
        Node head=null;
        Node temp = head;
        for (Integer num : set) {
            Node node = new Node(num);
            if(head==null){
                head=node;
            }else{
                temp.next=node;
            }
            temp=node;
        }
        return head;
    }
}

你可能感兴趣的:(不属于真正的链表去重,未对原来的链表进行修改,而是另外创建了一个链表)