zoukankan      html  css  js  c++  java
  • 【leetcode】83: 删除排序链表中的重复元素

    题目如下:

    整个题目可以建立一个dummy variable用于储存我们新的用于返回的指针,这个variable也是一个node,我们用这个dummy variable来和head当中的value进行比较,如果相同,则dummy variable保持不变,同时head往后移动一个node。如果不相同,说明我们遇到了一个和前一个node value不相同的元素,则dummy variable往后增添一个node,head同时也向后移动一个node。一旦移动完所有的head linked list,我们将dummy variable的下一个元素赋值为none,这样就可以得到一个新的linked list了!

    代码如下:

    # Definition for singly-linked list.
    # class ListNode:
    #     def __init__(self, val=0, next=None):
    #         self.val = val
    #         self.next = next
    class Solution:
        def deleteDuplicates(self, head: ListNode) -> ListNode:
            if head == None:
                return None
            dummy = ListNode(-101)
            tail = dummy
            while head:
                #这里相当于用前一个链表node当中的数值和后一个head当中的数值进行比较,
                #如果不相等,则继续下去,相等则head往后移动一格
                if tail.val != head.val:
                    tail.next = head
                    tail = tail.next
                head = head.next
            tail.next = None
            return dummy.next 
  • 相关阅读:
    解决IE8不兼容通过class名获取元素的方法
    移动端页面遇到过的各种坑
    强大的正则表达式
    弹性盒子布局
    vue环境搭建
    fullpage.js使用指南
    ES5原生api(1)
    双色球中奖率分析(python)
    使用python脚本的3D引擎Panda3d
    Python lambda介绍
  • 原文地址:https://www.cnblogs.com/geeksongs/p/15178160.html
Copyright © 2011-2022 走看看