给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
示例 1:
输入: 1->1->2
输出: 1->2
新学习新的开始,又开始写博客希望大家能一起学习,之前没写,因为课程太多了太多的考试,今年希望自己能够坚持住,加油,(你也要加油哦),今天写的是给一个排序的链表删除重复的元素,使得每个元素只出现一次。
下面我们看题:
//定义一个结点
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 None
fast, slow = head, head
while fast:
if fast.val != slow.val:
slow.next = fast
slow = slow.next
fast = fast.next
slow.next = None
return head
head = ListNode(1)
n=ListNode(1)
n1=ListNode(2)
head.next=n
n.next=n1
s=Solution()
c=s.deleteDuplicates(head)
while c:
print(c.val)
c=c.next
运行结果:
C:\Users\ASUS\anaconda3\envs\hws\python.exe F:/studycon/快慢指针.py
1
2