zoukankan      html  css  js  c++  java
  • [leetcode]Remove Duplicates from Sorted List II @ Python

    原题地址:https://oj.leetcode.com/problems/remove-duplicates-from-sorted-list-ii/

    题意:

    Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.

    For example,
    Given 1->2->3->3->4->4->5, return 1->2->5.
    Given 1->1->1->2->3, return 2->3.

    解题思路:链表的基本操作。

    代码:

    # Definition for singly-linked list.
    # class ListNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    class Solution:
        # @param head, a ListNode
        # @return a ListNode
        def deleteDuplicates(self, head):
            if head == None or head.next == None:
                return head
            dummy = ListNode(0); dummy.next = head
            p = dummy
            tmp = dummy.next
            while p.next:
                while tmp.next and tmp.next.val == p.next.val:
                    tmp = tmp.next
                if tmp == p.next:
                    p = p.next
                    tmp = p.next
                else:
                    p.next = tmp.next
            return dummy.next
  • 相关阅读:
    第二阶段站立会09
    第二阶段站立会08
    《大道至简》阅读笔记3
    《大道至简》阅读笔记2
    《大道至简》阅读笔记1
    站立会议9
    站立会议8
    站立会议6
    站立会议7
    站立会议5
  • 原文地址:https://www.cnblogs.com/zuoyuan/p/3783570.html
Copyright © 2011-2022 走看看