LeetCode 82. 删除排序链表中的重复元素 II(链表)
1. 题目
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。
示例 1:
输入: 1->2->3->3->4->4->5
输出: 1->2->5示例 2:
输入: 1->1->1->2->3
输出: 2->3
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
- 利用一个计数 count 判断是否需要断开连接
class Solution {public:ListNode* deleteDuplicates(ListNode* head) {if(!head || !head->next)return head;//没有头结点或者一个节点,直接返回ListNode *emptyHead = new ListNode(0);//空头结点,编码简化些emptyHead->next = head;int count = 1;ListNode *end = emptyHead, *prev = head, *cur = head->next;//end为新链表的结尾while(cur != NULL){if(prev->val != cur->val) //前后不相等了,需要决定是否保留{if(count == 1) //只出现1次,保留{end->next = prev; //保留,接上end = prev; //更新结尾}count = 1; //count重置为1}elsecount++; //前后相等计数+1prev = cur; //更新prev,curcur = cur->next;}if(count == 1) //循环结束时cur为空,prev要不要接上?count来判断end->next = prev;elseend->next = NULL;return emptyHead->next;}
};
LeetCode 82. 删除排序链表中的重复元素 II(链表)相关推荐
- 31. Leetcode 82. 删除排序链表中的重复元素 II (链表-双指针)
给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 .返回 已排序的链表 .示例 1:输入:head = [1,2,3,3,4,4,5] 输出:[1,2,5] ...
- 82. 删除排序链表中的重复元素 II(链表操作)
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字. 示例 1: 输入: 1->2->3->3->4->4->5 输出: 1-&g ...
- LeetCode 80. 删除排序数组中的重复项 II
1. 题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完 ...
- leetcode 26. 删除排序数组中的重复元素
题目 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下 ...
- Leetcode 129求根节点到叶节点数字之和、104二叉树的最大深度、8字符串转换整数(atoi)、82删除排序链表中的重复元素II、204二分查找、94二叉树的中序遍历、144二叉树的前序遍历
Top1:Leetcode 129求根节点到叶节点数字之和 官方题解:https://leetcode.cn/problems/sum-root-to-leaf-numbers/solution/qi ...
- list元素求和_LeetCode刷题实战82:删除排序链表中的重复元素 II
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
- 删除排序链表中的重复元素 II
82. 删除排序链表中的重复元素 II 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字. 返回同样按升序排 ...
- 算法---删除排序链表中的重复元素 II
删除排序链表中的重复元素 II 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 .返回 已排序的链表 . 输入:head = [1,2,3,3,4,4,5] ...
- C++描述 LeetCode 26. 删除排序数组中的重复项
C++描述 LeetCode 26. 删除排序数组中的重复项 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客 ...
- vue删除数组中的一条数据_删除排序数组中的重复项 II
删除排序数组中的重复项 II题目 给定一个增序排列数组 nums ,你需要在 原地 删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改 ...
最新文章
- 小程序内容审核违规过滤,在小程序使用security.msgSecCheck
- 浅谈JavaScript、ES5、ES6
- php生成网页按钮,JavaScript实现自动生成网页元素功能(按钮、文本等)_javascript技巧...
- 【elasticsearch】You AutoComplete Me
- android浮动按钮_Android扩展浮动操作按钮
- git lfs mac 安装_GIT LFS 安装及使用
- 如何用QT做串口调试助手Qseriaport类的使用
- HTML怎么把按钮往下移,css按钮固定在底部
- 2021-05-21 qt程序aas运行失败提示undefined symbol: _Z34QBasicAtomicInt_fetchAndAddOrderedPVii问题
- python爬取豆瓣top250信息并存入数据库中 | sqlite3
- WebRTC[52] - WebRTC 带宽分配逻辑详解
- 程序员必读书单1.0
- 数据库是如何通过索引定位数据,索引的原理讲解
- DataGrip使用教程
- 软件构造 lab-1 Problem Set 1: Tweet Tweet(MIT)
- AndroidStudio SSL peer shut down incorrectly 问题
- 自定义颜色显示填报时校验出错的数据
- java小游戏——走迷宫
- 快速突破流量瓶颈的方法,需从如下五点数据分析
- AJAX和XHR和Axios和Fetch
热门文章
- delphi7aes加密解密与java互转_跨语言(java vs python vs nodejs)的RSA加解密问题探讨
- 传输层两大协议:TCP与UDP详解(两者的联系与区别)
- 武汉理工大学java,武汉理工大学 web技术基础
- 白屏优化_今日头条品质优化 图文详情页秒开实践
- php redis 队列,Redis 实现队列
- Hadoop源生实用工具之distcp
- [luogu3380][bzoj3196]【模板】二逼平衡树【树套树】
- 08.Numpy数组迭代
- Linux下如何搭建Java环境
- html5手机移动端三级联动城市选择器