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

    };

相关推荐
Madison-No77 分钟前
【Linux】文件操作&&重定向原理
android·linux·运维
TracyCoder12314 分钟前
LeetCode Hot100(13/100)——238. 除了自身以外数组的乘积
算法·leetcode
Anastasiozzzz19 分钟前
LeetCode Hot100 215. 数组中的第K个最大元素
数据结构·算法·leetcode
让我上个超影吧20 分钟前
【力扣76】最小覆盖子串
算法·leetcode·职场和发展
若风的雨41 分钟前
安全与验证模块设计方案
linux·安全
Eiceblue1 小时前
.NET框架下Windows、Linux、Mac环境C#打印PDF全指南
linux·windows·.net
试试勇气1 小时前
Linux学习笔记(十三)--文件系统
linux·笔记·学习
yingdonglan2 小时前
鸿蒙跨端Flutter学习——GridView高级功能
linux·运维·windows
求梦8202 小时前
【力扣hot100题】合并两个有序链表(22)
算法·leetcode·链表
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [drivers][clk]clk
linux·笔记·学习