83-删除排序链表中的重复元素

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。


示例

示例 1:

输入: 1->1->2
输出: 1->2

示例 2:

输入: 1->1->2->3->3
输出: 1->2->3

解法

核心思想:利用双指针,跳过重复的结点

class Solution:
def deleteDuplicates(self, head: ListNode) -> ListNode:
if head and head.next:
pre = head
p = head.next
else:
return head
while p:
if pre.val == p.val:
pre.next = p.next
p = p.next
else:
pre = pre.next
p = p.next
return head

相关信息

LeetCode:Discussion | Solution

-------------本文结束感谢您的阅读-------------