题目:
注意:链表是排好序的,这就意味着重复的元素出现在相邻元素。
代码:
/**
* 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) {
if(head==null) return null; //空节点返回null
ListNode p=head;
while(p.next!=null){ //注意这里的p.next!=null,防止出现空指针异常,因为下面要比较p.next的值
if(p.val==p.next.val ){
p.next=p.next.next;
}else{
p=p.next;
}
}
return head;
}
}