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 
  • 相关阅读:
    hexo常用命令笔记
    给hexo添加评论系统
    npm 使用代理
    几种网页重定向(自动跳转)的方法
    使用hexo搭建github博客
    在Pythonanywhere上部署Django
    Apache .htaccess语法之RewriteRule
    为Github项目创建文档
    Windows下WordPress搭建博客过程
    Windows下Discuz搭建论坛过程
  • 原文地址:https://www.cnblogs.com/geeksongs/p/15178160.html
Copyright © 2011-2022 走看看