思路:
定义一个虚拟节点,保存删除了重复节点的链表。
定义一个cur节点遍历整个链表,通过循环比较cur.data和cur.next.data,不相同就将节点插入虚拟链表,并返回
public ListNode deleteDuplication(){
ListNode node=new ListNode(-1);
ListNode cur=this.head;
ListNode tmp=node;
while(cur!=null){
if(cur.next!=null&&cur.data==cur.next.data){
//1、循环
//2、退出循环 cur要多走一步
while(cur.next!=null&&cur.data==cur.next.data){
cur=cur.next;
}
cur=cur.next;
}else{
tmp.next=cur;
cur=cur.next;
tmp=tmp.next;
}
}
tmp.next=null;
return node.next;
}