/**
给定一个已排序的链表的头 head ,删除原始链表中所有重复数字的节点,只留下不同的数字。返回 已排序的链表 。

输入:head = [1,2,3,3,4,4,5]
输出:[1,2,5]
**/
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode deleteDuplicates(ListNode head) {
ListNode result = new ListNode();
ListNode next = new ListNode();
result.next = next;
ListNode pre = null;
while(head != null){
if(isEquals(pre,head) || isEquals(head,head.next)){
pre = head;
}else{
next.next = new ListNode(head.val,null);
next = next.next;
}
head = head.next;
}
return result.next.next;
}
private boolean isEquals(ListNode a, ListNode b){
return a != null && b != null && a.val == b.val;
}
}