leetcode--删除排序链表中的重复元素--python

news/2024/7/5 11:46:17

文章目录

  • 题目
    • 题目详情
    • 示例
  • 解题代码
    • 思路
    • 代码
    • 运行结果
    • 最佳方案

题目

题目详情

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。

示例

输入: 1->1->2
输出: 1->2
输入: 1->1->2->3->3
输出: 1->2->3

解题代码

思路

  1. 我们需要删除的是一个排序的链表里重复的值
  2. 那么就需要两个指针来进行遍历,那么遍历完成的一个条件就是p1.next == None
  3. 前面的两个指针可以简化为一个指针,前后指针嘛,前一个是p1,那么后一个就是p1.next。
  4. 需要注意的点是需要判断删除节点为最后一个节点的话,要注意删除后,指针最后指向的是None

代码

class Solution:def deleteDuplicates(self,head):p1 = headif p1 is None:return headwhile p1.next is not None:if p1.val == p1.next.val:if p1.next is None:    #这里就是要注意的点,要删除的节点为最后一个节点p1.next = Noneelse:p1.next = p1.next.nextelse:p1 = p1.nextreturn head

运行结果

在这里插入图片描述

最佳方案

用时为44ms的一个最佳方案,给大家参考参考

class Solution:def deleteDuplicates(self, head: 'ListNode') -> 'ListNode':if head == None:return headh = headtp = headtmp = head.valhead = head.nextwhile head != None:if tmp == head.val:head = head.nexttp.next = headelse:tmp = head.valhead = head.nexttp = tp.nextreturn h

http://lihuaxi.xjx100.cn/news/242942.html

相关文章

学好web前端开发要注意哪些问题

web前端学起来是比较困难的,当然想要学好web前端技术,那么有一些注意事项一定是要看的,下面小编就为大家详细的介绍一下学好web前端开发要注意哪些问题? ​  学好web前端开发要注意哪些问题? 基础:无论做什么都一定要有扎实的…

thinkphp-条件判断-范围判断-range标签

说明range标签,替换判断用法,其中type属性的值可以用in/notin/between/notbetween, 其它属性的用法和IN或者BETWEEN一致示例{range name"2" value"1,2,3",type"in"}在 {/range}输出在转载于:https://blog.51cto.com/suyan…

leetcode--买股票的最佳时机II--python

文章目录题目题目详情注意示例代码思路解题代码运行结果最佳方案题目 题目详情 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。…

全球首届APMCon,带你给“应用性能”把把脉

前段时间,美国苹果公司应用程序购买商店和手机等一系列应用因技术故障中断服务,持续了约两个半小时。故障发生后,世界多地苹果用户纷纷吐槽无法购买和更新手机应用、无法备份等。其实,这不是苹果公司在线服务第一次掉线&#xff0…

Java培训收费标准是什么样的

java技术在互联网行业的快速发展,可谓是前景非常可观的,越来越多的人想要了解java技术系统学习的培训和收费标准,尤其是想知道Java培训收费标准是什么样的?来看看下面的详细介绍。 ​  Java培训收费标准是什么样的?要说培训学费我们首先要…

必读的 Java 学习资料分享!

大年前总结一篇 Python 的资源汇总,有同学说应该来篇 Java 的,LeanCloud 最擅长 Java 的工程师与大家做了个小分享,仅是根据个人的学习经验总结,如果工程师们还有更好的推荐,欢迎在留言板留言,与大家分享。…

Java培训找什么样的机构比较好

​ Java培训找什么样的机构比较好?很多人都比较关注java技术,想要学习java技术,参加相关工作,但如今市面上的java培训机构那么多,怎么样选择比较靠谱呢?来看看下面的详细介绍吧。 ​  Java培训找什么样的机构比较好?小编这里…

leetcode--无重复字符的最长子串--python

文章目录题目题目详情示例解题代码思路代码运行结果最佳方案题目 题目详情 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长…