1.题目描述
Given a sorted linked list, delete all duplicates such that each element appear only once.
给出一个链表,删除重复元素,确保每个元素只出现一次
2.题目分析
链表中的数字按一定顺序排好,所以只需要比较链表相邻两个元素就可以了
3.解题思路
1 # Definition for singly-linked list. 2 # class ListNode(object): 3 # def __init__(self, x): 4 # self.val = x 5 # self.next = None 6 7 class Solution(object): 8 def deleteDuplicates(self, head): 9 """ 10 :type head: ListNode 11 :rtype: ListNode 12 """ 13 p=head #指向头链表的第一个结点 14 if head==None: #判断链表是否为空 15 return None 16 while p.next!=None: #遍历结点,当下一个结点为空时停止 17 if p.val==p.next.val: #出现重复的元素,删除当前的结点 18 p.next=p.next.next 19 else: 20 p=p.next 21 return head
4.解题收获
了解了有关python单链表实现的相关知识