题解 | #删除有序链表中重复的元素-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
