【Java】【力扣】83.删除排序链表中的重复元素

news2024/11/16 19:54:50

题目

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

示例 1:

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

示例 2:

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

提示:

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

思路

注意注意!:因为是有序的,所以相同的数一定挨在一起!!

所以只要从“头”到 “倒一 ”遍历,

如果当前节点和下一个节点 值相同,就删掉下一个节点

代码

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode deleteDuplicates(ListNode head) {
 if (head == null){
                return head;
            }
            //cur表示当前节点,从head开始
            ListNode cur = head;
            
            while (cur.next!=null){
                if (cur.next.val == cur.val){
                    cur.next = cur.next.next;
                }else {
                    cur=cur.next;
                }
                
            }
            return head;
    }
}

记录

总结

因为没注意到是有序的,,所以想了特别久,以后一定要先看清题目!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2143880.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

js 控制台自动 debugger

在全局文件中加入以下代码&#xff0c;即可打开控制台自动调试 setInterval(function() {check() }, 1000); var check function() {function doCheck() {(function() {}["constructor"]("debugger")())doCheck()}try {doCheck()} catch (err) {} }; che…

Flask-WTF的使用

组织一个 Flask 项目通常需要遵循一定的结构&#xff0c;以便代码清晰、可维护。下面是一个典型的 Flask 项目结构&#xff1a; my_flask_app/ │ ├── app/ │ ├── __init__.py │ ├── models.py │ ├── views.py │ ├── forms.py │ ├── templat…

T3打卡-天气识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 1.导入数据&#xff1a; #设置GPU import tensorflow as tf gpustf.config.list_physical_devices("GPU") if gpus:gpu0gpus[0]tf.config.experime…

Android OkHttp源码分析(一):为什么OkHttp的请求速度很快?为什么可以高扩展?为什么可以高并发

目录 一、为什么要使用OkHhttp? 在不使用OkHhttp之前&#xff0c;我们都是在使用什么&#xff1f;使用HttpURLConnection&#xff0c;那么我们看看HttpURLConnection发起一次请求&#xff0c;两次请求要花多长时间&#xff0c;而OkHttp花多长时间。HttpURLConnection会比okht…

【银河麒麟高级服务器操作系统实例】tcp_mem分析处理全过程内核参数调优参考

了解更多银河麒麟操作系统全新产品&#xff0c;请点击访问 麒麟软件产品专区&#xff1a;https://product.kylinos.cn 开发者专区&#xff1a;https://developer.kylinos.cn 文档中心&#xff1a;https://documentkylinos.cn 现象描述 系统中出现大量的TCP: out of memory…

Mina protocol - 体验教程

Mina protocol - 体验教程 一、零知识证明( Zero Knowledge Proof )1、零知识证明&#xff08;ZKP&#xff09;的基本流程工作流程&#xff1a; 2、zkApp 的优势&#xff1a;3、zkApp 每个方法的编译过程&#xff1a; 二、搭建第一个zkapp先决条件1、下载或者更新 zkApp CLI​2…

基于Springboot美食推荐小程序的设计与实现(源码+数据库+文档)

一.项目介绍 pc端&#xff1a; 支持用户、餐厅老板注册 支持管理员、餐厅老板登录 管理员&#xff1a; 管理员模块维护、 餐厅管理模块维护、 用户管理模块维护、 商品管…

Qt:NULL与nullptr的区别(手写nullptr)

前言 发现还是有人不知道NULL 与nullptr的区别&#xff0c;故写此文章。 正文 对于NULL 先看NULL的源码 我们可以看出这段代码是一个典型的预处理器宏定义块&#xff0c;用于处理 NULL 宏的定义。 先看开头 #if defined (_STDDEF_H) || defined (__need_NULL)这行代码检…

git报错,error: bad signature 0x00000000fatal: index file corrupt

报错 git -c diff.mnemonicprefixfalse -c core.quotepathfalse --no-optional-locks checkout daily --progress error: bad signature 0x00000000 fatal: index file corrupt 原因 git 仓库中索引文损坏 处理 1.该备份的先备份 2.删除索引并重置 rm -f .git/index git r…

医学数据分析实训 项目五 分类分析--乳腺癌数据分析与诊断

文章目录 项目六&#xff1a;分类分析实践目的实践平台实践内容&#xff08;一&#xff09;数据理解及准备&#xff08;二&#xff09;模型建立、预测及优化任务一&#xff1a;使用 KNN算法进行分类预测任务二&#xff1a;使用贝叶斯分类算法进行分类预测任务三&#xff1a;使用…

Linux基础3-基础工具4(git,冯诺依曼计算机体系结构)

上篇文章&#xff1a;Linux基础3-基础工具3&#xff08;make,makefile,gdb详解&#xff09;-CSDN博客 本章重点&#xff1a; 1. git简易使用 2. 冯诺依曼计算机体系结构介绍 一. git使用 1.1 什么是git? git是用于管理代码版本的一种工具&#xff0c;我们在如GitHub&#xf…

C++ | (二)类与对象(上)

燕子去了&#xff0c;有再来的时候&#xff1b;杨柳枯了&#xff0c;有再青的时候&#xff1b;桃花谢了&#xff0c;有再开的时候。但是&#xff0c;聪明的&#xff0c;你告诉我&#xff0c;我们的假期为什么一去不复返呢&#xff1f; 目录 一、初识类 1.1 类的定义 1.2 C中…

面试真题-TCP的三次握手

TCP的基础知识 TCP头部 面试题&#xff1a;TCP的头部是多大&#xff1f; TCP&#xff08;传输控制协议&#xff09;的头部通常是固定的20个字节长&#xff0c;但是根据TCP选项&#xff08;Options&#xff09;的不同&#xff0c;这个长度可以扩展。TCP头部包含了许多关键的字…

depcheck 检查项目中依赖的使用情况 避免幽灵依赖的产生

depcheck 检查项目中依赖的使用情况 避免幽灵依赖的产生 什么是幽灵依赖 (幻影依赖) 形成原因 幽灵依赖是指node_modules中存在 而package.json中没有声明过的依赖 但却能够在项目的依赖树中找到并使用的模块 Node.js 的模块解析规则&#xff1a; Node.js 采用了一种非传统的模…

C++速通LeetCode简单第20题-多数元素

方法一&#xff1a;暴力解法&#xff0c;放multiset中排序&#xff0c;然后依次count统计&#xff0c;不满足条件的值erase清除。 class Solution { public:int majorityElement(vector<int>& nums) {int ans 0;multiset<int> s;for(int i 0;i < nums.s…

「iOS」viewController的生命周期

iOS学习 ViewController生命周期有关方法案例注意 ViewController生命周期有关方法 init - 初始化程序&#xff1b;loadView - 在UIViewController对象的view被访问且为空的时候调用&#xff1b;viewDidLoad - 视图加载完成后调用&#xff1b;viewWillAppear - UIViewControll…

给大模型技术从业者的建议,入门转行必看!!

01—大模型技术学习建议‍‍‍ 这个关于学习大模型技术的建议&#xff0c;也可以说是一个学习技术的方法论。 首先大家要明白一点——(任何)技术都是一个更偏向于实践的东西&#xff0c;具体来说就是学习技术实践要大于理论&#xff0c;要以实践为主理论为辅&#xff0c;而不…

换个手机IP地址是不是不一样?

在当今这个信息爆炸的时代&#xff0c;手机已经成为我们生活中不可或缺的一部分。而IP地址&#xff0c;作为手机连接网络的桥梁&#xff0c;也时常引起我们的关注。你是否曾经好奇&#xff0c;换个手机&#xff0c;IP地址会不会也跟着变呢&#xff1f;本文将深入探讨这个问题&a…

Android15之编译Cuttlefish模拟器(二百三十一)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…

直流斩波电路

目录 1. 降压斩波电路&#xff08;Buck Converter&#xff09; 2. 升压斩波电路&#xff08;Boost Converter&#xff09; 3. 升降压斩波电路&#xff08;Buck-Boost Converter&#xff09; 4. Cuk斩波电路&#xff08;Cuk Converter&#xff09; 直流斩波电路是一种将直流…