首页 > 其他分享 >203. Remove Linked List Elements

203. Remove Linked List Elements

时间:2024-06-20 12:28:06浏览次数:27  
标签:pre 203 Elements ListNode val List head next dummyHead

Given the head of a linked list and an integer val, remove all the nodes of the linked list that has Node.val == val, and return the new head.

Example 1:

Input: head = [1,2,6,3,4,5,6], val = 6
Output: [1,2,3,4,5]

Example 2:

Input: head = [], val = 1
Output: []

Example 3:

Input: head = [7,7,7,7], val = 7
Output: []

Constraints:

  • The number of nodes in the list is in the range [0, 104].
  • 1 <= Node.val <= 50
  • 0 <= val <= 50
/**
 * 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) {
        struct ListNode*dummyHead=new ListNode(0,head);
        struct ListNode*pre=dummyHead;
        while(pre->next!=NULL){
            if(pre->next->val==val){
                pre->next=pre->next->next;
            }else{
                pre=pre->next;
            }
        }
        return dummyHead->next;
    }
};

注意:

        1.其实这道题可以有两种方法去做,第一种是不适用虚拟头节点的,但是这种方法需要分类,一种是删除的节点是头节点的时候,第二种是其他元素,但是这样的话,代码不够简洁。所以采用了虚拟头节点的方式来做

        2.C++中应该在用完dummyHead后,将其释放,但是这里我忘了

 

标签:pre,203,Elements,ListNode,val,List,head,next,dummyHead
From: https://blog.csdn.net/2301_80161204/article/details/139829099

相关文章

  • IDEA报错:Cannot invoke(class=Package]sonListener,method=after,topic=BulkFileListe
    1.问题描述安装IDEA23年版本后创建.java文件失败并报错无法创建类无法解析模板"Class",措误消息:Cannotinvoke(class=Package]sonListener,method=after,topic=BulkFileListener)2.解决方式按如下图片检查以下设置2.1检查文件类型2.2检查文件和代码模板2.3检......
  • DEMO_01:List数据存储,回调函数,集合转字符串,元素去重
    *题目:*1.构建属性结构List<DemoNode>data,根据本包的data.png中数据结构图将数据存入data中(字就是nodeName)*2.将树形结构List<DemoNode>里面的元素全部遍历出来存放到List<String>list中,输出结果转换成字符串:粉粉碎机被粉碎机粉碎了怎么办*3.将list里元素去重后......
  • 小雅alist搭建教程
    先去服务器拉取小雅镜像可以利用github中的来拉取 拉取到本地后执行bash-c"$(curlhttp://docker.xiaoya.pro/update_new.sh)"然后本地就会出现小雅的docker容器获取阿里云token、opentoken、转存目录folderidtoken获取:获取网址: https://alist.nn.ci/zh/guide/drive......
  • Python 3 list sort All In One
    Python3listsortAllInOnePythonsortfunctionListsortlist.sort(key=None,reverse=False)sort()函数用于对原列表进行排序,如果指定参数,则使用指定的比较函数进行比较。key:主要是用来指定进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,......
  • [com.t.extend.SpringContextLoaderListener] - generate index.html sucess,ERROR or
    错误:2024-06-1913:23:09,873INFO[com.t.extend.SpringContextLoaderListener]-generateindex.htmlsucess13:23:10.159[RMITCPConnection(3)-127.0.0.1]ERRORorg.apache.struts2.dispatcher.Dispatcher-Dispatcherinitializationfailedcom.opensymphony.xwor......
  • ArrayList并发修改异常
    遇到这么个问题:迭代器并发修改会抛出异常,这个问题之前没有遇到过,特意记录一下: publicstaticvoidmain(String[]args){//创建集合对象List<String>list=newArrayList<String>();//添加元素list.add("hello");list.add("Java......
  • 现代分布式数据库 数据分布方式 Round-Robin、Range、List 和 Hash
    现代分布式数据库中,常见的数据分布方式有如下几种:Round-Robin、Range、List和Hash。如下图所示: 数据分布|StarRockshttps://docs.starrocks.io/zh/docs/table_design/Data_distribution/StarRocks的数据分布方式​StarRocks支持单独和组合使用数据分布方式。说明除......
  • RERCS系统开发实战案例-Part08 FPM 应用程序的表单组件(From UIBB)与列表组件(List UI
    1、新建FromUIBB的FPMApplication的快速启动面板备注:该步骤可第一步操作,也可最后一步操作,本人习惯第一步操作。1)使用事务码LPD_CUST,选择对应的角色与实例进入快速启动板定制页面;2)新建FPMApplication应用程序;注意:此处的应用程序别名用于ListUIBB的实施方法IF_FPM_G......
  • MYSQL查询语句报1 of ORDER BY clause is not in SELECT list
    我的语句如下:SELECTDISTINCT r.id, r.device_model_id, r.device_model_name, r.alarm_type_id, r.alarm_type_name, r.alarm_level, r.filter_condition, r.filter_condition_value, r.offline_tag, p.param_data_id, p.parmsFROM alarm_ruler, alarm_rule_pa......
  • SHOW PROCESSLIST 最多能显示多长的 SQL?
    在MySQL中,如果我们想查看实例当前正在执行的SQL,常用的命令是SHOWPROCESSLIST。但如果SQL过长的话,就会被截断。这时,我们一般会用SHOWFULLPROCESSLIST来查看完整的SQL。最近碰到一个case,发现无论是使用 SHOWPROCESSLIST、SHOWFULLPROCESSLIST,还是performance_schem......