解析:
- 将temp指针指向头部
- temp和temp.next作为循环条件,若哪个为空那就不用再循环了
- 如果temp和temp.next相等的话就删除重复的元素,直接将temp.next=temp.next.next就可以删除重复的一部分了
- 如果temp和temp.next不相等的话指针继续后移
代码:
public ListNode deleteDuplicates(ListNode head) {
ListNode temp=head;
while(temp!=null&&temp.next!=null){
if(temp.val==temp.next.val){
temp.next=temp.next.next;
}else{
temp=temp.next;
}
}
return head;
}

这段代码展示了一个在链表中删除重复元素的算法。通过遍历链表,当找到相邻节点值相等时,直接跳过重复部分,从而实现删除。此方法仅适用于删除连续重复的元素。
1092

被折叠的 条评论
为什么被折叠?



