每日一道leetcode(python)83. 删除排序链表中的重复元素

每日一道leetcode83. 删除排序链表中的重复元素

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。

返回同样按升序排列的结果链表。

示例 1:

输入:head = [1,1,2]
输出:[1,2]
示例 2:

输入:head = [1,1,2,3,3]
输出:[1,2,3]
 
提示:

链表中节点数目在范围 [0, 300]-100 <= Node.val <= 100
题目数据保证链表已经按升序排列

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
# 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: ListNode) -> ListNode:
        if not head:
            return head
        cur = head
        fast = head.next
        while fast != None: # 如果fast不为空,就继续走下去
            if cur.val == fast.val:
                cur.next = fast.next 
                fast = fast.next
            else:
                cur = fast # 值不相等,指针后移
                fast = fast.next
        return head

你可能感兴趣的:(每日一道leetcode,leetcode,链表)