给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。

思路和上一题类似(参考 力扣(LeetCode)删除排序链表中的重复元素 个人题解))

只不过这里需要用到一个前置节点来排除第一个节点就是重复元素的特例。

同样是使用快慢针解决问题。不再详细叙述。

代码如下:

class Solution {
public ListNode deleteDuplicates(ListNode head) {
ListNode ret = new ListNode(0);
ret.next = head;
ListNode slow = ret, fast = head; while (fast != null && fast.next != null) {
if (slow.next.val == fast.next.val) {
fast = fast.next.next;
while (fast != null && fast.val == slow.next.val)
fast = fast.next;
slow.next = fast;
} else {
slow = slow.next;
fast = fast.next;
}
} return ret.next;
}
}

力扣(LeetCode)删除排序链表中的重复元素II 个人题解的更多相关文章

  1. LeetCode 82. 删除排序链表中的重复元素 II(Remove Duplicates from Sorted List II)

    82. 删除排序链表中的重复元素 II 82. Remove Duplicates from Sorted List II 题目描述 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中没有 ...

  2. Java实现 LeetCode 82 删除排序链表中的重复元素 II(二)

    82. 删除排序链表中的重复元素 II 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字. 示例 1: 输入: 1->2->3->3->4- ...

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

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

  4. [LeetCode] 82. 删除排序链表中的重复元素 II

    题目链接 : https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/ 题目描述: 给定一个排序链表,删除所有含有 ...

  5. 力扣 ——Remove Duplicates from Sorted List II(删除排序链表中的重复元素 II)python实现

    题目描述: 中文: 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字. 示例 1: 输入: 1->2->3->3->4->4-> ...

  6. 【力扣】82. 删除排序链表中的重复元素 II

    存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字. 返回同样按升序排列的结果链表. 示例 1: 输入:hea ...

  7. LeetCode(82):删除排序链表中的重复元素 II

    Medium! 题目描述: 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字. 示例 1: 输入: 1->2->3->3->4->4- ...

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

    给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字. 示例 1: 输入: 1->2->3->3->4->4->5    输出: 1 ...

  9. LeetCode 82. 删除排序链表中的重复元素 II(Remove Duplicates from Sorted List II)

    题目描述 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字. 示例 1: 输入: 1->2->3->3->4->4->5 输出: ...

随机推荐

  1. vue 父组件动态传值至子组件

    1.进行数据监听,数据每次变化就初始化一次子组件,进行调取达到传递动态数据的目的普通的监听: watch:{ data: function(newValue,oldValue){ doSomeThin ...

  2. docker1-centos上安装docker

    docker镜像(image)相当于面向对象的类 docker容器(container)相当于面向对象的对象 1.安装环境要求 目前,CentOS 仅发行版本中的内核支持 Docker. Docker ...

  3. 关于M23内核简介 - 待续

    1.定位 M23是基于最新的ARMv8-M构架的主要关注低功耗应用的微控制器,未来会是M0.M0+的替代品. M33是基于最新的ARMv8-M构架的主要关注高能效应用的微控制器,未来会替换M3.M4. ...

  4. 查看线上日志利器less

    less实用命令 搜索 很多关于命令的解释有点令人困惑,因为前字,forward是向前,before也是前面. 上表示backward 下表示forward 向下搜索 / - 使用一个模式进行搜索,并 ...

  5. jquery引用

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. 如何上传项目至GitHub

    1.下载 https://gitforwindows.org/ 2.打开Git Bash 把git绑定到GitHub 3.打开GitHub登陆后 点击settings 点击SSH and GPG ke ...

  7. Spring Boot WebFlux 2.1.7 中文翻译文档

    1. 前言 从一开始学习 Netty 到 rxjava.Rector,再到 java8 的 CompletableFuture,就深深的为响应式编程着迷,这种区别于传统的顺序式编程,没准未来能在编程世 ...

  8. Android_Bundle

    1 Bundle介绍 Bundle主要用于传递数据:它保存的数据,是以key-value(键值对)的形式存在的. 我们经常使用Bundle在Activity之间传递数据,传递的数据可以是boolean ...

  9. python:__name__的使用

    1.python中__name__是什么意思? 很多python的初学者可能都会遇到一个问题:__name__是什么意思? 在刚开始学习python的时候,我们总会看到这样一句代码: if __nam ...

  10. 监控tomcat,自动启动

    tomcatID=`ps -ef |grep tomcat |grep -v 'grep'|awk '{print $2}'`  tomcatCount=`ps -ef|grep tomcat |gr ...