问题描述
给定一个已排序的链表的头 head
, 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。
解法(遍历链表)
class Solution:
def deleteDuplicates(self, head: Optional[ListNode]) -> Optional[ListNode]:
if not head:
return head
p = head
while p.next is not None:
if p.val == p.next.val:
p.next = p.next.next
else:
p = p.next
return head
-
时间复杂度
遍历了一遍链表故
O ( n ) O(n) O(n)