存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。

返回同样按升序排列的结果链表。

示例 1:

输入:head = [1,1,2]
输出:[1,2]
示例 2:

输入:head = [1,1,2,3,3]
输出:[1,2,3]

提示:

  • 链表中节点数目在范围 [0, 300] 内
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序排列

解法1:一次遍历

class Solution:def deleteDuplicates(self, head: ListNode) -> ListNode:if not head:return headcur = headwhile cur.next:if cur.val == cur.next.val:cur.next = cur.next.nextelse:cur = cur.nextreturn head

解法2:递归

class Solution:def deleteDuplicates(self,head:ListNode)->ListNode:if head == None or head.next == None:return headhead.next = self.deleteDuplicates(head.next)if head.val == head.next.val:return head.nextelse:return head

[leetcode]83.删除排序链表中的重复元素相关推荐

  1. LeetCode 83. 删除排序链表中的重复元素(链表)

    1. 题目 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次. 示例 1: 输入: 1->1->2 输出: 1->2示例 2: 输入: 1->1->2-> ...

  2. Leetcode 83. 删除排序链表中的重复元素

    难度:简单 频次:47 题目:给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 .返回 已排序的链表 . 解题思路: 就是双指针遍历,如果前后相同,删除一个,不相同就继 ...

  3. 30. Leetcode 83. 删除排序链表中的重复元素 (链表-双指针)

    给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 .返回 已排序的链表 .示例 1:输入:head = [1,1,2] 输出:[1,2] 示例 2:输入:head = ...

  4. Leetcode 83 删除排序链表中的重复元素 (每日一题 20210804)

    存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 .返回同样按升序排列的结果链表.示例 1:输入:head = [1,1,2] 输出:[1,2 ...

  5. LeetCode 83 —— 删除排序链表中的重复元素

    1. 题目 2. 解答 从前向后遍历链表,如果下一个结点的值和当前结点的值相同,则删除下一个结点,否则继续向后遍历. /*** Definition for singly-linked list.* ...

  6. LeetCode Algorithm 83. 删除排序链表中的重复元素

    83. 删除排序链表中的重复元素 Ideas 这题挺简单的,直接一次遍历,如果当前遍历的元素val跟下一个元素的val相等,说明是重复元素,直接把当前item的next指向item->next- ...

  7. 83. 删除排序链表中的重复元素 golang

    83. 删除排序链表中的重复元素 golang Me func deleteDuplicates(head *ListNode) *ListNode {if head == nil || head.N ...

  8. leetcode 82. 删除排序链表中的重复元素 II

    难度:中等 频次:77 题目:给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 .返回 已排序的链表 . 解题思路: 一次遍历 注意: 遍历时候,如果两个节点 ...

  9. 31. Leetcode 82. 删除排序链表中的重复元素 II (链表-双指针)

    给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 .返回 已排序的链表 .示例 1:输入:head = [1,2,3,3,4,4,5] 输出:[1,2,5] ...

最新文章

  1. 清华校友打造Python调试神器
  2. G - SOLDIERS POJ - 1723 sort+数学
  3. [Google API](8)构建使用Google API的Java应用程序
  4. Win8.1下Node.js连接oracle
  5. SAP系统怎样快速应对2019税改?
  6. django mysql settings
  7. VMware VCSA 6.0安装过程 (转)
  8. 大数据下,谁来保护裸奔的个人隐私
  9. 整合Solr到Tomcat服务器,并配置IK分词
  10. 华为设备VRRP+MSTP冗余负载均衡实现
  11. Kotlin Compose 标准组件
  12. 干货:8266在3d打印机上的使用
  13. 使用 Kitten 开发一款趣味成语接龙游戏
  14. EXCLE为什么双击横杠日期才能变成斜杠日期
  15. 推土机距离(Wasserstein distance)以及其他几种常用的分布差异度量方法(mark)
  16. 关于GIt的学习,gitee
  17. Roon 1.8(806) for Windows
  18. 专为高校教学提供专业仿真工具——COMSOL多物理场仿真软件
  19. Linux编译mplayer播放badapple及编译fbv加载图片(基于V3S预告板子要开源了)
  20. RACSignal 冷信号和热信号底层实现分析

热门文章

  1. 他35岁,年薪100万,牛逼的人生无需解释
  2. 科普 | 微服务和软件技术栈
  3. 中秋水文 | 安利一发国漫
  4. 音视频技术开发周刊 | 207
  5. LiveVideoStack线上分享第三季(十):Flutter浪潮下的音视频研发探索
  6. ECUG 早鸟票热卖中 | 大咖聚首 探索云计算下一个十年
  7. Nginx 模块开发
  8. Let's Encrypt 发布 ACME v2,开始测试通配符证书
  9. 拥有一亿会员的爱奇艺如何搭建大数据实时分析平台
  10. 异常处理——namenode启动成功但是没有namenode进程