leetcode算法题--删除排序链表中的重复元素 II
原题链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/
1、map
ListNode* deleteDuplicates(ListNode* head) {map<int,int> map;ListNode *p=head;while(p!=NULL){map[p->val]++;//将所有元素存放在map中并计算次数p=p->next;}ListNode *pre=new ListNode;pre->next=head;p=pre;for(auto iter=map.begin();iter!=map.end();iter++){if(iter->second==1){//只记录次数等于1的元素p=p->next;p->val=iter->first;}}p->next=NULL;return pre->next;
}
2、快慢指针
ListNode* deleteDuplicates(ListNode* head) {//通过快慢指针跳过重复元素ListNode *pre=new ListNode;pre->next=head;ListNode *p=pre;while(p->next!=NULL&&p->next->next!=NULL){ListNode *tmp=p->next;if(tmp->val==tmp->next->val){//判断下面两个节点是否重复while(tmp->next!=NULL&&tmp->val==tmp->next->val){//若重复则一直遍历到不重复的那个节点tmp=tmp->next;}p->next=tmp->next;//将中间重复的部分删除}else p=p->next;//若没有重复的部分则后移p再次进行判断}return pre->next;
}
leetcode算法题--删除排序链表中的重复元素 II相关推荐
- list元素求和_LeetCode刷题实战82:删除排序链表中的重复元素 II
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
- Leetcode 129求根节点到叶节点数字之和、104二叉树的最大深度、8字符串转换整数(atoi)、82删除排序链表中的重复元素II、204二分查找、94二叉树的中序遍历、144二叉树的前序遍历
Top1:Leetcode 129求根节点到叶节点数字之和 官方题解:https://leetcode.cn/problems/sum-root-to-leaf-numbers/solution/qi ...
- 算法---删除排序链表中的重复元素 II
删除排序链表中的重复元素 II 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 .返回 已排序的链表 . 输入:head = [1,2,3,3,4,4,5] ...
- 删除排序链表中的重复元素 II
82. 删除排序链表中的重复元素 II 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字. 返回同样按升序排 ...
- LeetCode Algorithm 83. 删除排序链表中的重复元素
83. 删除排序链表中的重复元素 Ideas 这题挺简单的,直接一次遍历,如果当前遍历的元素val跟下一个元素的val相等,说明是重复元素,直接把当前item的next指向item->next- ...
- leetcode 82. 删除排序链表中的重复元素 II
难度:中等 频次:77 题目:给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 .返回 已排序的链表 . 解题思路: 一次遍历 注意: 遍历时候,如果两个节点 ...
- 31. Leetcode 82. 删除排序链表中的重复元素 II (链表-双指针)
给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 .返回 已排序的链表 .示例 1:输入:head = [1,2,3,3,4,4,5] 输出:[1,2,5] ...
- Leetcode 82. 删除排序链表中的重复元素 II (每日一题 20210908)
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字.返回同样按升序排列的结果链表.示例 1:输入:head = ...
- 每日一题——删除排序链表中的重复项 II
菜鸡每日一题系列打卡82天 每天一道算法题目 小伙伴们一起留言打卡 坚持就是胜利,我们一起努力! 题目描述(引自LeetCode) 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中没有重 ...
最新文章
- git错误“无法推送一些引用到xxx“的解决方法
- c语言c2182是什么错误,C语言中一种更优雅的异常处理机制
- pip Python 包安装和管理工具
- 一个简单案例,5 分钟看懂 Java Lamdba 表达式
- 量子遗传算法原理与MATLAB仿真程序
- A Faster Volatile
- mysql第四章思考与练习答案_Mysql课后思考题
- 认知计算机语言学,什么是认知语言学
- JavaScript 的这个难点,毁掉了多少程序员?
- 钩子怎么画_画男生校服有什么技巧?该注意什么?
- java执行Sql脚本
- 计算机专业高程课,ArcGIS之数字高程(DEM)分析综合系列套餐
- IRedMail 邮箱配置
- Bing必应搜索引擎打开新标签默认页的修改
- 二维码图像编码原理(字符编码:ASCII、UTF-8)
- 阿里巴巴校招笔试题整理
- AI编译器与TPU-MLIP
- EasyTest 接口自动化测试平台 搭建手顺
- vs 2013 必须先停止生成方可关闭解决方案
- 殊途同归的两种角度理解岭回归(内含有sklearn例子)
热门文章
- python官网下载步骤64位-Python 3.7 64位下载
- python装饰器实例-Python装饰器用法实例总结
- python最新版下载教程-各种版本的Python下载安装教程
- python怎么导入包-如何理解Python中包的引入
- 零基础python入门书籍-浅谈零基础自学python入门书
- python界面不同按钮实现不同功能-python tkinter实现界面切换的示例代码
- python程序实例教程基础-编程小案例
- mmdetection2.3.0版本安装过程,以及训练、测试、可视化等(亲测好用,很顺利)
- UPYUN的云CDN技术架构演进之路
- asio中奇怪的代码