/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode deleteDuplicates(ListNode head) { //自己的思路就是哪一个不重合 就申请一个新的结点并加入到ls2中 构成一个新的链表
ListNode ls1 = new ListNode(Integer.MAX_VALUE);
ListNode ls2 = new ListNode(Integer.MAX_VALUE); //这里的取值很危险 一不小心就报错 这里也是赌运气
ListNode ls3 = ls2;
ls1.next = head;
while(ls1!=null) {
while(ls1.next!=null&&ls1.val==ls1.next.val)
ls1 = ls1.next;
ls1 = ls1.next;
if(ls1 == null)
break;
if(ls1.next==null||ls1.val != ls1.next.val){
ls3.next = new ListNode(ls1.val);
ls3 = ls3.next;
}
}
return ls2.next;
}
}