长大后想做什么?做回小孩!

0%

LeetCode——删除排序链表中的重复元素

NO.83 删除排序链表中的重复元素 简单

GVpuA1.png

思路一:快慢指针 curr指向当前元素,next指针遍历链表。如果curr节点值等于next节点值则从链表中删除next指向的节点curr.next=next.next,否则不相等则向前移动curr指针。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//时间复杂度:O(n)
public ListNode deleteDuplicates(ListNode head) {
if (head==null||head.next==null)return head;
ListNode curr=head,next=head.next;
while (next != null) {
if (curr.val != next.val) {
curr=curr.next;
}else {
curr.next=next.next;
}
next=next.next;
}
return head;
}

时间复杂度:O(n)


本人菜鸟,有错误请告知,感激不尽!

更多题解和源码:github