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(链表)相关推荐

  1. 31. Leetcode 82. 删除排序链表中的重复元素 II (链表-双指针)

    给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 .返回 已排序的链表 .示例 1:输入:head = [1,2,3,3,4,4,5] 输出:[1,2,5] ...

  2. 82. 删除排序链表中的重复元素 II(链表操作)

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

  3. LeetCode 80. 删除排序数组中的重复项 II

    1. 题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完 ...

  4. leetcode 26. 删除排序数组中的重复元素

    题目 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下 ...

  5. Leetcode 129求根节点到叶节点数字之和、104二叉树的最大深度、8字符串转换整数(atoi)、82删除排序链表中的重复元素II、204二分查找、94二叉树的中序遍历、144二叉树的前序遍历

    Top1:Leetcode 129求根节点到叶节点数字之和 官方题解:https://leetcode.cn/problems/sum-root-to-leaf-numbers/solution/qi ...

  6. list元素求和_LeetCode刷题实战82:删除排序链表中的重复元素 II

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  7. 删除排序链表中的重复元素 II

    82. 删除排序链表中的重复元素 II 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字. 返回同样按升序排 ...

  8. 算法---删除排序链表中的重复元素 II

    删除排序链表中的重复元素 II 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 .返回 已排序的链表 . 输入:head = [1,2,3,3,4,4,5] ...

  9. C++描述 LeetCode 26. 删除排序数组中的重复项

    C++描述 LeetCode 26. 删除排序数组中的重复项   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客 ...

  10. vue删除数组中的一条数据_删除排序数组中的重复项 II

    删除排序数组中的重复项 II题目 给定一个增序排列数组 nums ,你需要在 原地 删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改 ...

最新文章

  1. 小程序内容审核违规过滤,在小程序使用security.msgSecCheck
  2. 浅谈JavaScript、ES5、ES6
  3. php生成网页按钮,JavaScript实现自动生成网页元素功能(按钮、文本等)_javascript技巧...
  4. 【elasticsearch】You AutoComplete Me
  5. android浮动按钮_Android扩展浮动操作按钮
  6. git lfs mac 安装_GIT LFS 安装及使用
  7. 如何用QT做串口调试助手Qseriaport类的使用
  8. HTML怎么把按钮往下移,css按钮固定在底部
  9. 2021-05-21 qt程序aas运行失败提示undefined symbol: _Z34QBasicAtomicInt_fetchAndAddOrderedPVii问题
  10. python爬取豆瓣top250信息并存入数据库中 | sqlite3
  11. WebRTC[52] - WebRTC 带宽分配逻辑详解
  12. 程序员必读书单1.0
  13. 数据库是如何通过索引定位数据,索引的原理讲解
  14. DataGrip使用教程
  15. 软件构造 lab-1 Problem Set 1: Tweet Tweet(MIT)
  16. AndroidStudio SSL peer shut down incorrectly 问题
  17. 自定义颜色显示填报时校验出错的数据
  18. java小游戏——走迷宫
  19. 快速突破流量瓶颈的方法,需从如下五点数据分析
  20. AJAX和XHR和Axios和Fetch

热门文章

  1. delphi7aes加密解密与java互转_跨语言(java vs python vs nodejs)的RSA加解密问题探讨
  2. 传输层两大协议:TCP与UDP详解(两者的联系与区别)
  3. 武汉理工大学java,武汉理工大学 web技术基础
  4. 白屏优化_今日头条品质优化 图文详情页秒开实践
  5. php redis 队列,Redis 实现队列
  6. Hadoop源生实用工具之distcp
  7. [luogu3380][bzoj3196]【模板】二逼平衡树【树套树】
  8. 08.Numpy数组迭代
  9. Linux下如何搭建Java环境
  10. html5手机移动端三级联动城市选择器