首页 > 其他分享 >链表-移除链表元素

链表-移除链表元素

时间:2023-06-08 21:02:39浏览次数:38  
标签:val 元素 next 链表 dummyNode 移除 prev 节点

点击查看代码
var removeElements = function(head, val) {
    var dummyNode = new ListNode(-1); // 设置一个虚拟头节点
    dummyNode.next = head; 
    var prev = dummyNode; // prev记录当前节点的前一个节点
    while(prev.next) { // 从head开始遍历链表
        if(prev.next.val === val) { // 如果当前节点的值等于val
            prev.next = prev.next.next // 跳过当前的节点
        } else {
            prev = prev.next // 如果不等于,继续遍历链表
        }
    }
    return dummyNode.next; // 返回头节点
};
最核心的点在于创建虚拟头节点,如果不创建虚拟头节点就会导致我们必须分类进行讨论,而有了这个节点我们就可以不进行分类讨论使用统一的while循环处理

标签:val,元素,next,链表,dummyNode,移除,prev,节点
From: https://www.cnblogs.com/wan-cb/p/17467638.html

相关文章

  • wpf中元素的Visibility和IsVisible出现矛盾的情况
    ui<StackPanelMargin="5"><Borderx:Name="bd1"><TextBlockName="tb1"Text="123"/></Border><Buttonx:Name="btn1"C......
  • selenium定位元素
    定位鼠标光标element=driver.find_element_by_css('div[class*="loadingWhiteBox"]')driver.execute_script("arguments[0].click();",element)element=driver.find_element_by_css('div[class*="loadingWhiteBox"]')w......
  • 在List<String>中找出重复的字符串元素__简单高效
    点击查看代码publicvoidassertNoDuplicateStr(List<String>list,Stringkey){if(ObjectUtils.isEmpty(list)){return;}Set<String>set=newHashSet<>();list.stream().forEach(e->Assert.isTrue(set.add(e),String......
  • 链表和双指针框架
    链表和双指针框架前后指针:方便链表删除快慢指针:获取链表倒数第N个元素快慢指针+前后指针:组合问题快慢指针:相交、判环、起点、长度双索引指针:合并/分割/拼接链表链表处理细节细节1:创建额外的哨兵节点的时机细节2:链表递归顺序细节3:虚拟节点细节4:递归实现双向遍历 前后指针:方便链......
  • QA|重写了元素定位后报错xx object has no attribute 'find_element'|网页计算器自动
    代码如下:1#basepage.py23fromseleniumimportwebdriver456classBasePage():7"""8基类用作初始化封装常用操作9"""1011def__init__(self):12"""13初始化driver14......
  • div元素自适应屏幕大小
    简单介绍一下实现方式(结尾处有代码)1.首先创建一个根元素,将这个跟元素宽高设置为100%,当然,用100vw、100vh也可以,并且将根元素设置为相对定位。2.再创建我们要实现自适应大小的元素,自适应元素我们要给固定的宽高。可以按照常见的屏幕分辨率赋值,1920*1080或者2560*1440。(注:至于为什......
  • 打卡第一天| 704. 二分查找 27. 移除元素
    第N遍做这个题 这题也写过很多次了还是有点费劲。需要回忆。用时14min。 ......
  • 链表:剑指 Offer 24. 反转链表
    题目描述:  方法:迭代(双指针) classSolution{publicListNodereverseList(ListNodehead){ListNodecur=head,pre=null;while(cur!=null){ListNodetmp=cur.next;//暂存后继节点cur.nextcur.next=p......
  • 自定义上传图片,动态拼接html元素,node插入/替换指定位置旧元素
    <!DOCTYPEhtml><head>  <metaname="viewport"    content="width=device-width,initial-scale=0.5,maximum-scale=1.0,minimum-scale=0.5,user-scalable=yes">  <title>上传图片</title></head><bo......
  • 代码随想录算法训练营第十三天|● 239. 滑动窗口最大值 ● 347.前 K 个高频元素 ● 总
    239.滑动窗口最大值力扣题目链接(opensnewwindow)给定一个数组nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。进阶:你能在线性时间复杂度内解决此题吗?提示:1<......