[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;
      }

    };

相关推荐
leaves falling27 分钟前
Linux 基础指令完全指南 —— 从入门到熟练
linux·运维·服务器
样例过了就是过了1 小时前
LeetCode热题 不同路径
c++·算法·leetcode·动态规划
charlie1145141912 小时前
嵌入式Linux驱动开发——新字符设备驱动 API 概览
linux·运维·驱动开发
Navigator_Z2 小时前
LeetCode //C - 1031. Maximum Sum of Two Non-Overlapping Subarrays
c语言·算法·leetcode
♛识尔如昼♛2 小时前
C 进阶(2) - 文件I/O
linux·文件i/o
顺风尿一寸2 小时前
深入 Linux 内核 6.8.12:从 Futex 到 MCS 队列自旋锁的完整同步机制剖析
linux
橙子也要努力变强2 小时前
信号的保存、阻塞与递达
linux·服务器·c++
进阶的猪3 小时前
使用printk对SPI子系统全过程的追踪
linux·服务器
2301_803554523 小时前
Linux里面的文件描述符和windows里面的句柄
linux·运维·服务器
星马梦缘3 小时前
如何切换window-ubuntu双系统【方案一】
linux·ubuntu·双系统