题解 | #删除有序链表中重复的元素-I#
删除有序链表中重复的元素-I
https://www.nowcoder.com/practice/c087914fae584da886a0091e877f2c79
解题思路
- 先判断是否为空,为空则返回原链表;
- 遍历链表,当前值与下一个值相等时,使当前节点的next等于下一个节点的next(关键!!!);否则到下一个节点。
- 时间复杂度为O(N),空间复杂度为O(1)。
class Solution: def deleteDuplicates(self , head: ListNode) -> ListNode: # write code here if head is None: return head p = head while p and p.next: if p.val == p.next.val: p.next = p.next.next else: p = p.next return head