一.解题思路
说明:这题了解一下链表这个数据结构就比较简单,思路理不清楚纸上画一画就明白了。
思路:通过基础遍历,判断前一位与后一位是否重复,重复就前一位跳过后一位。
注意:需要注意的是游标与链表的后移。
二.代码展示
class Solution:
def deleteDuplicates(self, head: ListNode) -> ListNode:
# 创建一个变量指向链表开头
headNode = head
# 创建一个游标是前一位(用于前一位与后一位比较是否重复)
cur = head
if head:
# 后移一位
head = head.next
while head:
# 前一位与后一位比较
if cur.val == head.val:
# 前一位的next直接链接至下一位的next(跳过重复)
cur.next = head.next
else:
cur = cur.next
# 后移一位
head = head.next
return headNode
三.总结其他
总结:这个题前置要求还是需要我们去了解链表数据结构,了解后就会发现其实还是比较简单的。
交流:如果有什么建议或者疑问可以在文章下面回复哈,期待交流。