83. 删除排序链表中的重复元素
题解:
要删除一个已排序链表中的所有重复元素,从而使每个元素只出现一次,我们可以使用一个指针来遍历这个链表,同时比较当前节点和它下一个节点的值。如果它们相等,我们就删除下一个节点,如果不相等,我们就移动指针。文章来源:https://www.toymoban.com/news/detail-786846.html
注:本题使用的是虚拟头节点文章来源地址https://www.toymoban.com/news/detail-786846.html
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def deleteDuplicates(self, head: Optional[ListNode]) -> Optional[ListNode]:
if not head or not head.next:
return head
dummy_head = ListNode(0)
dummy_head.next = head
cur = dummy_head.next
while cur and cur.next:
if cur.val == cur.next.val:
cur.next = cur.next.next
else:
cur = cur.next
return dummy_head.next
到了这里,关于leetcode-删除排序链表中的重复元素的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!