[leetcode]remove-duplicates-from-sorted-list-ii

. - 力扣(LeetCode)

给定一个已排序的链表的头 head删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表

示例 1:

复制代码
输入:head = [1,2,3,3,4,4,5]
输出:[1,2,5]

示例 2:

复制代码
输入:head = [1,1,1,2,3]
输出:[2,3]

提示:

  • 链表中节点数目在范围 [0, 300]

  • -100 <= Node.val <= 100

  • 题目数据保证链表已经按升序 排列

    class Solution {
    public:
    ListNode* deleteDuplicates(ListNode* head) {
    if (!head) {
    return head;
    }

    复制代码
          ListNode* dummy = new ListNode(0, head);
    
          ListNode* cur = dummy;
          while (cur->next && cur->next->next) {
              if (cur->next->val == cur->next->next->val) {
                  int x = cur->next->val;
                  while (cur->next && cur->next->val == x) {
                      cur->next = cur->next->next;
                  }
              }
              else {
                  cur = cur->next;
              }
          }
    
          return dummy->next;
      }

    };

相关推荐
wabs666几秒前
关于二叉树【力扣100.相同的树的思考】
数据结构·c++·算法·leetcode·二叉树·递归法
半仙白桑12 分钟前
内核篇第一讲:linux创建进程
linux·fork·创建进程
吴声子夜歌15 分钟前
Shell编程实例——bash的配置与自定义(二)
linux·运维·shell
风笙97818 分钟前
[内存管理] page数据结构
linux
alphaTao29 分钟前
LeetCode 每日一题 2026/9/14-2026/9/20
算法·leetcode
hanlin0331 分钟前
刷题笔记:力扣第560题-和为k的子数组
笔记·算法·leetcode
Awh-33 分钟前
ARM 裸机开发 day02 学习笔记
linux·arm开发·arm
牢姐与蒯1 小时前
Linux进程间通信(一).进程间通信概念&&环境切换(着重强调vscode)
linux·运维·服务器·ubuntu
M78佐菲1 小时前
ARM学习笔记(四)
linux·arm开发·笔记·嵌入式硬件·学习
东鹏特饮1 小时前
redhat9 配置yum 阿里云
linux·运维·redhat·yum