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

  【前言】坚持日更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/

发布了32 篇原创文章 · 获赞 62 · 访问量 1305

猜你喜欢

转载自blog.csdn.net/Mingw_/article/details/104750624