当前位置: 首页 > news >正文

邢台做网站备案东莞网站制作公司联系方式

邢台做网站备案,东莞网站制作公司联系方式,福建省建设工程质量安全网站,为什么做免费视频网站leetcode203 什么是链表 之前不懂链表的数据结构,一看到链表的题目就看不明白 链表是通过next指针来将每个节点连接起来的,题目中给的链表是单向链表,有两个值,一个val表示值,一个next:表示连接的下一个…

leetcode203
在这里插入图片描述

什么是链表

之前不懂链表的数据结构,一看到链表的题目就看不明白
链表是通过next指针来将每个节点连接起来的,题目中给的链表是单向链表,有两个值,一个val表示值,一个next:表示连接的下一个节点
对于题目中给出的head = [1,2,6,3,4,5,6],实际的结构是这样的:

const node6 = { val: 6, next: null }
const node5 = { val: 5, next: node6 }
const node4 = { val: 4, next: node5 }
const node3 = { val: 3, next: node4 }
const node2 = { val: 6, next: node3 }
const node1 = { val: 2, next: node2 }
const nodeList = { val: 1, next: node1 }

nodeList是头节点,然后通过next连接下一个节点,一直到next:null。
单向链表都只能向下查询,如果是双向链表的话会多一个prev属性,指向前一个节点

方法1

题目中的意思是,如果找到一个节点的val == target,那么就要删除这个节点。
关于删除节点,如果需要删除的节点在头节点,我们需要把头节点往下移动,通过改变头节点的方式来删除。
例如:head = [1,1,2,3],val = 1
那么我们让head = head.next来修改head的头节点,就可以删除头节点。
如果需要删除掉节点在中间,像下面图片中一样,原本cur.next -> 6,我们需要跳过这一项,那么就让cur.next = cur.next.next,就跳过了中间项,这样的话新的节点就是1->2->3
在这里插入图片描述

var removeElements = function (head, val) {if(!head){return head;}// 头节点是目标删除节点while(head && head.val === val){head = head.next;}let cur = head;while(cur){while(cur.next && cur.next.val === val){cur.next = cur.next.next;}cur = cur.next;}return head;
}

方法2

前面方法1中针对头节点和非头节点的删除方式其实是不同的,那么有没有什么方式可以让头节点和非头节点都用相同的方式来进行删除呢?
我们可以考虑创建一个**虚拟头节点dummy**,让dummy.next = head 这样的话,需要删除掉所有节点都是属于中间节点,都以删除中间节点的方式来进行删除操作即可
需要注意的是,最终返回的是dummy.next,因为dummy是我们创建出来的虚拟节点,实际是不存在的,真正的头节点是dummy.next

var removeElements = function (head, val) {if (!head) {return head;}let dummy = { val: 0, next: head };let cur = dummy;while (cur) {while (cur.next && cur.next.val === val) {cur.next = cur.next.next;}cur = cur.next;}return dummy.next;
}
http://www.yayakq.cn/news/126196/

相关文章:

  • 郑州网站建设熊掌号潜江资讯网官网
  • 菲律宾网站网站建设手机app用什么语言编写的
  • 网络销售型网站有哪些商务服饰网站建设
  • 网站统计功能设计网站的前台
  • 西安家政公司网站建设中国制造网平台
  • 网站开发的开题任务书wordpress优化seo
  • 做网络传销网站犯法吗wordpress xmlrcp
  • 海安做网站太原自助模板建站
  • 安防公司网站模板做网站v1认证是什么意思
  • 顺企网浙江网站建设网站挂马怎么办
  • 河南中国建设厅官方网站沈阳专业制作网站
  • 找做外墙油漆网站小城镇建设网站参考文献
  • 西安网站建设聚星互联网络推广运营推广
  • 肇庆网站上排名站长seo查询工具
  • 织梦 友情链接 网站名 分隔符做系统网站好
  • 制作网站的钱浙江火电建设有限公司网站
  • app开发网站建设培训班免费的源码分享网站
  • 如何自己做代理网站的想法微企点做网站怎么样
  • iis搭建多个网站查关键词排名工具app
  • 佛山响应式网站建设手工制作花朵
  • 北京网站开发招聘潍坊seo外包平台
  • 网站建设月薪宠物网站开发
  • 项目网站建设沧州网站网站建设
  • 广东网站建设包括什么排名前十的网站
  • 怎么看网站的服务器wordpress 站点身份
  • 网站如何做超链接做直播网站需要多少钱
  • 网站创建想法前台模板之家免费
  • 东莞网站建设 旅游四川建设厅官方网站文件下载
  • 建站最少需要多少钱济南网站备案程序
  • 如何自己做众筹网站东莞手机端建站模板