Remove Duplicates from Sorted List - LeetCode
题目:
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given 1->1->2
, return 1->2
.
Given 1->1->2->3->3
, return 1->2->3
.
分析:
这道题目应该就是考一个基本的链表删除,没什么难度,我用一个变量now记录现结点的val,若与下一个结点的val不一样,则把
now替换成现结点的val;否则用
delete函数删
除现结点,并且跳到下一个结点。
代码:
class Solution:
# @param head, a ListNode
# @return a ListNode
def deleteDuplicates(self, head):
now = 0
prev = head
temp = head
while head is not None:
if now != head.val:
now = head.val
prev = head
head = head.next
else:
head = self.delete(prev, head)
return temp
def delete(self,prev,head):
prev.next = head.next
del head
return prev.next