题目:
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
-
示例 1:
输入: 1->1->2 输出: 1->2
-
示例 2:
输入: 1->1->2->3->3 输出: 1->2->3
参考代码1:
public static ListNode deleteDuplicates(ListNode head) {
if(head==null)return null;
ListNode rs = head;
ListNode p = rs.next;
rs.next=null;
while(p!=null){
while(p != null && p.val == rs.val)p = p.next;
//注意不能忘记了判断
if(p == null){
return head;
}
rs.next = p;
p=p.next;
rs= rs.next;
rs.next=null;
}
return head;
}
参考代码2:
public static ListNode deleteDuplicates(ListNode head) {
ListNode p=head;
while(p != null && p.next!=null){
if(p.val==p.next.val)p.next=p.next.next;
else p=p.next;
}
return head;
}