Index [83]
Category algorithms
Difficulty Easy
Discription 给定一个已经排序好的链表的头Head,删除所有重复的元素,使每一个元素只出现一次。返回已排序的链表。
code:
class solution{
public ListNode deleteDuplicates(ListNode head){
if(head==null) return head; //链表为空时,直接返回head
ListNode p=head;
while(p.next!=null){
if(p.val==p.next.val){
//如果p后继的值与p相同就将p的next指针指向下一个元素
p.next=p.next.next;
}else{
//直至p与p.next所指元素的val值不同时,确定了此时的p的next指针所指元素,并将p指向目前所确定的链表的链表尾
p=p.next;
}
}
return head;
}
}
class ListNode{
int val;
ListNode next;
ListNode{}
ListNode(int val){this.val=val;}
ListNode(int val,ListNode next){this.val=val;this.next=next;}
}