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