Remove Duplicates from Sorted List - LeetCode

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值