首页 > 其他分享 >82. 删除排序链表中的重复元素 II

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

时间:2024-08-28 16:03:25浏览次数:9  
标签:II head ListNode cur val next 链表 82

传送锚点:

力扣

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点

示例 1:

https://assets.leetcode.com/uploads/2021/03/06/removelinked-list.jpg

输入:head = [1,2,6,3,4,5,6], val = 6
输出:[1,2,3,4,5]

示例 2:

输入:head = [], val = 1
输出:[]

示例 3:

输入:head = [7,7,7,7], val = 7
输出:[]

提示:

  • 列表中的节点数目在范围 [0, 104]

  • 1 <= Node.val <= 50

  • 0 <= val <= 50

思路

code

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* removeElements(ListNode* head, int val) {
        ListNode dummy(0, head);
        auto cur = &dummy;
        while(cur->next){
            if(cur->next->val == val){
                cur->next = cur->next->next;
            }else{
                cur = cur->next;
            }
        }
        return dummy.next;
    }
};

标签:II,head,ListNode,cur,val,next,链表,82
From: https://www.cnblogs.com/6Luffy6/p/18384982

相关文章

  • 实景三维数字沙盘技术标准【TB0822/T 0013—2023】
    1范围本文件立足当前技术的发展现状,描述了实景三维数字沙盘的定义、沙盘内容、沙盘功能、沙盘成果等技术参数要求,为数字沙盘的建设提供参考依据。适用于城乡规划、工程建设、指挥救援、环境应急、预案演练(消防、公安、武警)、安全生产、园区管理等领域。 2定义实景三维......
  • 数据结构之链表
    C++中常见的数据结构-CSDN博客目录一、链表的定义二、链表的创建三、链表的遍历四、链表的插入五、链表的删除六、总结 链表是计算机科学中常见的一种数据结构,c/c++语言中也有着丰富的链表操作函数库。本文将从链表的定义、创建、遍历、插入、删除等多个方面进行详细......
  • 给自己复盘的随想录笔记-链表练习题(在整理ing)
    删除链表的倒数第N个节点双指针的经典应用,如果要删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。删掉slow所指向的节点就可以了。思路是这样的,但要注意一些细节。分为如下几步:推荐大家使用虚拟头结点,这样方便处理删除实际头结点的逻辑,定......
  • 代码随想录算法day24 | 贪心算法part02 | 122.买卖股票的最佳时机II,55. 跳跃游戏,45.跳
    122.买卖股票的最佳时机II本题解法很巧妙,本题大家可以先自己思考一下然后再看题解,会有惊喜!力扣题目链接(opensnewwindow)给定一个数组,它的第 i个元素是一支给定股票第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次......
  • 数据结构链表(C语言版)
    链表定义链表是一种常见的基础数据结构,它由一系列节点(Node)组成,每个节点包含数据域和指向列表中下一个节点的指针(在双向链表中还会有指向前一个节点的指针)。链表的一个优点是它允许有效地在序列中插入和删除元素。节点(Node)一个节点通常包含两个部分:数据域(DataField):存储实......
  • 力扣刷题---链表专题(超详细解析!!!)
    文章目录题目203.移除链表元素876.链表的中间结点024.反转链表21.合并两个有序链表面试题02.04分割链表面试题02.02.返回倒数第K个节点023.相交链表题目203.移除链表元素题目链接这个题目有两种方法,第一种是创建新的链表,然后将原链表遍历一遍,跳过所有值为val的......
  • pytorch常见错误_0240826
    pytorch常见错误RuntimeError:aleafVariablethatrequiresgradisbeingusedinanin-placeoperation.如下程序会抱上述错误x=torch.randn(3,requires_grad=True)x+=1#原位操作报错:RuntimeError:aleafVariablethatrequiresgradisbeingusedinan......
  • 234. 回文链表
    回文链表传送锚点:234.回文链表-力扣(LeetCode)给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。示例1:输入:head=[1,2,2,1]输出:true示例2:输入:head=[1,2]输出:false提示:链表中节点数目在范围[1,105]内0<=......
  • 链表简介c++
    定义:链表是一种数据结构,其中元素(也称为节点)不是连续存储的。每个节点包含数据部分和一个指向下一个节点的指针。类型:在C++中,有两种主要类型的链表:单链表(每个节点只有一个指针指向下一个节点)和双向链表(每个节点有两个指针,一个指向前一个节点,另一个指向后一个节点)。结构......
  • C语言程序设计:链表删除相关结点
        创建一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。1.声明结构体类型结构体类型structStudent,包含成员学生学号(整型)、学生姓名(字符数组)、性别(字符型)、年龄(整型),next结构体指针。声明全局变量n......