作者:U友50140862 | 来源:互联网 | 2023-05-18 05:36
如何从链表中删除重复的数据第一种方法:遍历链表,把遍历的值存储到一个hashtable中,在遍历过程中,若当前访问的值在hashtable中已经存在,则说明这个数据是重复的第
//如何从链表中删除重复的数据
第一种方法:
遍历链表,把遍历的值存储到一个hashtable中,在遍历过程中,若当前访问的值在hashtable中已经存在,则说明这个数据是重复的
第二种方法:
对链表进行双重循环。
public class deleteDuplecate { static void method1(Node head) { Hashtable table=new Hashtable(); Node tmp=head; Node pre=null; while(tmp!=null) { if(table.containsKey(tmp.data)) { pre.next=tmp.next; }else { table.put(tmp.data, 1); pre=tmp; } tmp=(Node) tmp.next; } } static void method2(Node head) { Node p=head; while(p!=null) { Node q=p; while(q.next!=null) { if(p.data==q.next.data) { q.next=q.next.next; }else { q=q.next; } } p=p.next; } } }