网站建设咨询有客诚信网站建,漳州网站制作,在wordpress教程视频,网站首页文案模板删除排序链表中的重复元素
题目要求 解题思路
一次遍历 由于给定的链表是排好序的#xff0c;因此重复的元素在链表中的出现的位置是连续的#xff0c;因此我们只需要对链表进行一次遍历#xff0c;就可以删除重复的元素。 具体地#xff0c;我们从指针cur指向链表的头节…删除排序链表中的重复元素
题目要求 解题思路
一次遍历 由于给定的链表是排好序的因此重复的元素在链表中的出现的位置是连续的因此我们只需要对链表进行一次遍历就可以删除重复的元素。 具体地我们从指针cur指向链表的头节点随后开始对链表进行遍历。如果cur.val cur.next.val可以直接将cur后移一位移除值相同的链表。 当遍历完整这个链表时返回链表的头节点就可以了
代码
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val0, nextNone):
# self.val val
# self.next next
class Solution:def deleteDuplicates(self, head: ListNode) - ListNode:if not head or not head.next:return headcur headwhile cur.next:if cur.val cur.next.val:cur.next cur.next.nextelse:cur cur.nextreturn head复杂度分析
时间复杂度 O ( N ) O(N) O(N) 空间复杂度 O ( 1 ) O(1) O(1)