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

网站开发什么是会话平面设计做画册用网站

网站开发什么是会话,平面设计做画册用网站,开发公司与建筑公司合作协议,个人域名备案有什么风险如何判断链表有环 题目:解决方案一:解决方案二:解决方案三: 题目: 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,…

如何判断链表有环

  • 题目:
  • 解决方案一:
  • 解决方案二:
  • 解决方案三:

题目:

给你一个链表的头节点 head ,判断链表中是否有环。

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

如果链表中存在环 ,则返回 true 。 否则,返回 false 。

示例 1:

在这里插入图片描述

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

在这里插入图片描述

输入:head = [1,2], pos = 0
输出:true
解释:链表中有一个环,其尾部连接到第一个节点。
示例 3:

在这里插入图片描述

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

解决方案一:

可以使用快慢指针法, 分别定义 fast 和 slow指针,从头结点出发,fast指针每次移动两个节点,slow指针每次移动一个节点,如果 fast 和 slow指针在途中相遇 ,说明这个链表有环。

public class Solution {public boolean hasCycle(ListNode head) {ListNode fast = head;ListNode slow = head;// 空链表、单节点链表一定不会有环while (fast != null && fast.next != null) {fast = fast.next.next; // 快指针,一次移动两步slow = slow.next;      // 慢指针,一次移动一步if (fast == slow) {   // 快慢指针相遇,表明有环return true;}}return false; // 正常走到链表末尾,表明没有环}
}

解决方案二:

通过Set集合去重也能实现,效率不高图一乐

public class Solution {public boolean hasCycle(ListNode head) {Set<ListNode> set=new HashSet<>();while(head!=null){if(set.contains(head))return true;set.add(head);head=head.next;}return false;}
}

解决方案三:

提供一个全新的思路,一次遍历单指针搞定,时间击败100%。每次遍历完一个节点,将它的下一个节点指向初始节点,然后继续遍历: 如果下一节点为空,没有换 如果下一节点的下一指针为root,有环。

public class Solution {public boolean hasCycle(ListNode head) {ListNode root = head;while(head!=null){if(head.next==root) return true;//如果节点的下一节点为初始节点  有环ListNode tem = head; head = head.next;//否则继续遍历下一个节点tem.next = root;//上一个节点的下一节点为初始节点}return false;//走到了尽头,没有换}
}
http://www.yayakq.cn/news/538163/

相关文章:

  • 网站技术解决聊天app开发制作
  • 厦门开发网站公司wordpress更改固定链接后无法登陆
  • 河南网站建设服务网站开发前后端配比
  • 网站设计制作的介绍资金盘网站开发价格
  • 太原集团网站建设平面设计在哪里接单
  • asp网站开发实例单位邮箱怎么注册
  • 做网站的技术要求高吗宁波市有哪些网站建设公司
  • 提高网站流量原则wordpress群组
  • 如何批量建网站网络推广计划方案
  • 推荐设计网站wordpress网站从零
  • 打开一张图片后点击跳转到网站怎么做的.net网站程序
  • 网站开发技术合作协议书wordpress 名片插件
  • 常州网站建设怎么样电子商务公司有什么职位
  • 怎么判断网站被k装潢设计师要学多久
  • 网站建设要做哪些工作北京门户网站建设
  • 建站师telent网络新闻发布平台发稿
  • 淘宝客网站建设任务茶文化网站建设的可行性分析
  • 网站落地页和普通网页桂林市人口
  • 网站一键提交WordPress连接不上FTP
  • 青海制作网站的公司东南网
  • vps网站如何绑定多个域名织梦做的网站后台怎么进
  • 网站开发基本工资是多少东营市造价信息网
  • 哪家做网站的ppt的免费网站
  • 网站怎么看是什么程序做的网站运维可以做哪些
  • 网站设计的知识技能你在四川省建设安全与质量监督网站
  • 网站建设 数据归属网络推广方案
  • 郑州建设企业网站找哪个公司网站外链发布平台
  • 燕郊网站制作一个网站不兼容ie怎么做
  • 简单的企业网站制作企业网站需要什么功能
  • 软件大全链接网站上海最新风险地区一览表