数据结构之链表

来源:互联网 发布:河北保定seo 编辑:程序博客网 时间:2024/06/05 00:22

数据结构——链表

删除链表中重复数据

  1. 使用hashtable

    • 时间复杂度低,需要额外的存储空间
      public void delete(Node node) {    Hashtable<Integer, Integer> table = new Hashtable<Integer,Integer>();    Node tmp =head;    Node pre =Null;    while (tmp != null) {        if (table.containsKey(tmp.data)) {            pre.next=tmp.getNextSibling();        }        else {            table.put(tmp.data, 1);            pre = tmp;        }    }    tmp=tmp.getNextSibling();}
  2. 使用双重循环遍历

    • 时间复杂度高,不需要额外的空间
      public void delete(Node node) {    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;    }}
原创粉丝点击