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

想在土巴兔做装修网站找谁南山做网站价格

想在土巴兔做装修网站找谁,南山做网站价格,1.网站建设分为哪几个阶段,wordpress 下载中心插件环形链表 II 题目 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,…

环形链表 II

题目

给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。

不允许修改 链表。

示例 1:

输入:head = [3,2,0,-4], pos = 1
输出:返回索引为 1 的链表节点
解释:链表中有一个环,其尾部连接到第二个节点。

示例 2:

输入:head = [1,2], pos = 0
输出:返回索引为 0 的链表节点
解释:链表中有一个环,其尾部连接到第一个节点。

示例 3:

输入:head = [1], pos = -1
输出:返回 null
解释:链表中没有环。

解题思路

利用数组保存遍历过的节点,在遍历新节点时判断是否在数组中存在相同的节点。js数组的includes方法判断值相等问题用的是严格相等,即指向型引用,地址是否相等。

代码1

/*** @param {ListNode} head* @return {ListNode}*/
var detectCycle = function(head) {let arr = new Array();//数组中用以存放遍历过的节点let i=0;let ph = new ListNode(0);//临时指针用以遍历链表ph = head;while(1){if(ph==null) return null;//如果节点为null则结束循环if(!arr.includes(ph)) arr.push(ph);//如果节点不在数组中则将节点加入数组else {//如果节点在数组中,则说明链表循环了return ph;//返回这个循环的节点}ph = ph.next;}
};

代码2

var detectCycle = function(head) {const visited = new Set();//将已访问过的节点存入set集合中while (head !== null) {if (visited.has(head)) {//当当前节点存在在set集合中时,表明已经访问过此时开始了循环return head;}visited.add(head);head = head.next;}return null;
};

快慢指针解题思路

我们使用两个指针,fast与slow。它们起始都位于链表的头部。随后,slow指针每次向后移动一个位置,而fast指针向后移动两个位置。如果链表中存在环,则fast指针最终将再次与slow指针在环中相遇。

代码

var detectCycle = function(head) {let fast = null,slow=null;fast = slow = head;while(fast){slow = slow.next;//慢指针一次移动一位if(fast.next!==null){fast = fast.next.next;//快指针一次移动两位}else return null;//当快指针指向节点的第二给节点为null时也返回null//当快慢指针相遇时,满指针到入环第一给节点的距离和头节点到入环第一个节点的距离相等if(fast === slow){let ptr = head;//此时定义一个新指针,开始冲头遍历while(ptr !== slow){//同时移动慢指针和头节点指针,直到两指针相遇slow = slow.next;ptr = ptr.next;}return ptr;//两指针相遇,返回相遇节点}}return null;
};
http://www.yayakq.cn/news/501573/

相关文章:

  • 网络平台建设怎么做seo 网站title
  • 网站开发公司上海网站的域名空间
  • 网站建设 仿站wordpress static page
  • 做早餐的网站公司网站建设提纲
  • 怎么在手机上搭建网站小程序报价单模板
  • 企业免费网站优化服务漫画网站做任务给金币
  • 上海做外贸网站的公司乐清在线网
  • 怎么找做网站平台公司平台式网站模板
  • 做电工的有接单的网站吗渲模网
  • 保定哪做网站好化妆品网站开发步骤
  • 东莞浩智网站建设哪家好wordpress怎么修改右上角的内容
  • 织梦网站后台使用说明书前端低代码平台开发
  • 无锡网站App微信图书馆网站开发的前期准备
  • 洛阳新光建站创建目录 wordpress
  • 网站建设饣金手指科杰十二国外wordpress模板下载
  • 西安建站费用如何搭建手机网站
  • 一个企业网站需要多少钱大连seo外包
  • 邯郸网站建设品牌加盟属于什么的网页制作工具
  • 网站优化反馈机制 seo郑州专业做淘宝网站建设
  • 安徽建设学校官方网站重庆百度seo排名优化软件
  • 代刷网站推广链接快手米拓cms 网站模板在哪
  • 株洲专业建设网站事业单位网站备案流程
  • 瓷砖 中企动力 网站建设做静态网站的步骤
  • 做湲网站山西网站建设 哪家好
  • 网站后台怎么做飘窗推广软件赚钱违法吗
  • 网站建设一个人软文推送
  • 做ppt素材的网站深圳公司网站设计公
  • 网站外包项目h5页面制作素材
  • 地方网站做的好的拼多多运营怎么做
  • 来年做那个网站能致富北京网页制作设计公司