zoukankan      html  css  js  c++  java
  • LeetCode小白菜笔记[20]:Remove Duplicates from Sorted List

    LeetCode小白菜笔记[20]:Remove Duplicates from Sorted List

    83. Remove Duplicates from Sorted List [easy]

    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.

    从一个有序链表中去重。由于是链表,可能会简单一些,因为不需要进行移动,也不需要重新开一段储存区域,只需要将重复的skip过去,然后把链表中的link从上一个数值的头一个链接到下一个数值的头一个。

    # Definition for singly-linked list.
    # class ListNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    class Solution(object):
        def deleteDuplicates(self, head):
            """
            :type head: ListNode
            :rtype: ListNode
            """
            if head == None:
                return None
            thispt = head
            while not thispt.next == None:
                if thispt.val == thispt.next.val:
                    thispt.next = thispt.next.next
                else:
                    thispt = thispt.next
            return head

    while循环的终点应当是self.next == None,因为比较的是self.val和self.next.val,如果self.next == None了,后一项就取不出val。另外,注意特殊情况,比如head == None。另外,python中的链表中最后的NULL用的是None指代。

    51ms,67.55%

    2018年2月11日23:03:11

    打嗝使我难受,嗝~

  • 相关阅读:
    【复习】数据库维护-索引语法
    C# 以管理员身份运行WinForm程序
    Postgresql死锁处理
    401 Not Authorized For MSDEPLOY‏ (msdeployAgentService)
    GIT使用指南
    redis使用指南
    nginx使用指南
    DB2日常维护常用命令
    AIX常用命令总结
    C语言+嵌入式SQL+DB2开发经验总结
  • 原文地址:https://www.cnblogs.com/morikokyuro/p/13256809.html
Copyright © 2011-2022 走看看