LeeCode每日一题--删除排序链表中的重复元素

Crystal ·
更新时间:2024-11-11
· 618 次阅读

  【前言】坚持日更LeeCode刷题系列
    不积跬步,无以至千里;不积小流,无以成江海。愿与诸君共勉!

  【题目】83.删除排序链表中的重复元素
    题目描述:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。


    示例:

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

    思路一:如果有学过链表的同学会发现此题的思路很简单,所以我直接在下面贴出了题解链接,如果不是很了解链表的朋友可以去看一下。具体代码如下:

# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def deleteDuplicates(self, head): """ :type head: ListNode :rtype: ListNode """ first = ListNode(-1) first = head while first != None and first.next !=None: if first.val == first.next.val: first.next = first.next.next else: first = first.next return head

    运行结果:
    在这里插入图片描述

    Notice:不过在这里我犯了一个低级错误,在开始编写的时候,未在循环体内添加else中的内容,导致陷入了死循环,一直报超时错误,在使用指针时难免会碰到类似的错误,不过静下心来,拿样例自己去运行,这也算对自己的提醒把!


    关于其中一些知识的链接:

    算法题解


    分享就到这里了,欢迎大家一起交流讨论。


    注明

    题目来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/


作者:Mingw_



leecode 链表 排序

需要 登录 后方可回复, 如果你还没有账号请 注册新账号