/**
給定一個(gè)已排序的鏈表的頭?head?胧瓜,刪除原始鏈表中所有重復(fù)數(shù)字的節(jié)點(diǎn)垒探,只留下不同的數(shù)字眉撵。返回?已排序的鏈表?帐要。
輸入: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;
????}
}