当前位置: 首页 > news >正文

【算法专题--链表】删除排序链表中的重复元素 -- 高频面试题(图文详解,小白一看就懂!!)

目录

一、前言

二、题目描述 

三、解题方法 

⭐双指针

四、总结与提炼

五、共勉  


一、前言

       删除排序链表中的重复元素这道题,可以说是--链表专题--,最经典的一道题,也是在面试中频率最高的一道题目,通常在面试中,面试官可能会从多个方面考察这道题目,所以大家需要对这道题目非常熟悉哦!!
      本片博客就来详细的讲讲解一下 删除排序链表中的重复元素 的实现方法,让我们的面试变的更加顺利!!!

二、题目描述 

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

三、解题方法 

⭐双指针

这道题要  删除链表中的重复节点

  • 首先删除一个链表节点,是通过修改其上一个节点和下一个节点之间的连接关系实现的。 

  •  其次链表有序,因此我们要删除那些重复元素,可以用一个指针指向当前节点的值,另一个指针去找到下一个与它值不同的节点,然后建立这两个节点的连接,从而删除那些重复元素

代码:

class Solution {
public:ListNode* deleteDuplicates(ListNode* head) {// 双指针 思路ListNode* cur = head;ListNode* nextnode;while(cur){// 找到下一个不同值的节点,初始为当前节点的下一个节点nextnode = cur->next;while(nextnode && nextnode->val == cur->val){// 找到 下一个不同值节点nextnode = nextnode->next;}// 当前节点与下一个不同值节点建立连接cur->next = nextnode;// 更新当前节点cur = nextnode;}return head;}
};

 四、总结与提炼

       最后我们来总结一下本文所介绍的内容,本文讲解来一道力扣中有关 删除排序链表中的重复元素的题目,这道题目是校招笔试面试中有关链表章节非常高频的一道题目大家下去一定要自己再画画图,分析一下,把这段代码逻辑自己实现一遍,才能更好地掌握 

五、共勉  

       以下就是我对 删除排序链表中的重复元素 的理解,如果有不懂和发现问题的小伙伴,请在评论区说出来哦,同时我还会继续更新对 链表专题 的理解,请持续关注我哦!!! 

相关文章:

  • 第二证券股市资讯:股票中什么叫龙头?
  • Ps:动作面板
  • Nginx 的配置和运行核心数
  • js 微任务 宏任务区别
  • 八、C#运算符
  • iOS cell的复用以及自定义cell
  • 【Mybatis-Plus】根据自定义注解实现自动加解密
  • Docker+MySQL:打造安全高效的远程数据库访问
  • windows pyenv-win:pyenv 下载过慢
  • 赶紧收藏!2024 年最常见 20道设计模式面试题(七)
  • nRF Connect固件升级 OTA DFU Library for Mac and iOS, compatible with nRF5x SoCs
  • AI播客下载:The Gradient-AI前沿见解
  • After Effects 2024 mac/win版:创意视效,梦想起航
  • 持续总结中!2024年面试必问 20 道设计模式面试题(七)
  • ElasticSearch(ES)
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • Javascript基础之Array数组API
  • java取消线程实例
  • SpiderData 2019年2月16日 DApp数据排行榜
  • Vue学习第二天
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 回顾2016
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 巧用 TypeScript (一)
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 我建了一个叫Hello World的项目
  • 用jQuery怎么做到前后端分离
  • ​​​【收录 Hello 算法】9.4 小结
  • ​一些不规范的GTID使用场景
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #微信小程序(布局、渲染层基础知识)
  • (09)Hive——CTE 公共表达式
  • (1)Nginx简介和安装教程
  • (27)4.8 习题课
  • (6)STL算法之转换
  • (9)STL算法之逆转旋转
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (done) 声音信号处理基础知识(2) (重点知识:pitch)(Sound Waveforms)
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (k8s)Kubernetes 从0到1容器编排之旅
  • (SERIES10)DM逻辑备份还原
  • (笔试题)合法字符串
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (三)终结任务
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)fock函数详解
  • (转)利用ant在Mac 下自动化打包签名Android程序