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

专业的单位网站开发开发可信赖的坪山网站建设

专业的单位网站开发开发,可信赖的坪山网站建设,网站快捷按钮以什么方式做,微信公众号的小程序怎么开发这一题是给我们一个链表让我们判断这是否是一个环形链表,我们知道如果一个链表中有环的话这一个链表是没有办法访问到尾的, 假若有如图所示的带环链表: 我们从图示中很容易看出来这一个链表在访问的时候会在里面转圈,我们再来看看…

这一题是给我们一个链表让我们判断这是否是一个环形链表,我们知道如果一个链表中有环的话这一个链表是没有办法访问到尾的,
假若有如图所示的带环链表:
在这里插入图片描述
我们从图示中很容易看出来这一个链表在访问的时候会在里面转圈,我们再来看看无环链表的访问是什么样的,
在这里插入图片描述
我们可以清楚的看到,这一个无环链表在访问的时候会访问到尾,最后指针为NULL,此时说明链表无环。但是还是无法区别这两种链表啊,因为假如链表够长,我怎么知道它是因为链表有环导致没有访问完,还是因为链表太长没有访问完,所以根据链表经过的节点数目是无法判断这是一个有环链表还是无环链表。
但是我们一想有环链表啥特性,是不是访问结点时会重复,既然一个指针访问链表时无法判断是不是重复访问了,那么我们用两个指针去看会不会重复访问结点不就行了,就像我们跑步一样,在环形跑道上只要两个人的速度不一样这两个人就会相遇,这两个指针也是这样只要两个指针的速度不一样,在环上就会相遇。如果链表无环,跑的快的指针会先一步到达链表的尾端,这样就可以判断这是一个无环链,综上,使用两个遍历速度不一样的指针可以判断出一个链表是否为有环链表。
就像钟表上的时针与分针会相遇一样,这两个速度不一样的指针也会相遇。
根据上面的思路我们可以写出如下代码:

bool hasCycle(struct ListNode *head) {struct ListNode *p=head, *q = head;if(p!=NULL){p = p->next;}while(p!=q&&p!=NULL&&q!=NULL){p=p->next;if(p!=NULL){p=p->next;}q=q->next;}if(p==NULL){return false;}return true;
}

运行结果截图:
在这里插入图片描述

http://www.yayakq.cn/news/641752/

相关文章:

  • 一号建站加工平台推荐
  • 要做个公司网站的方案费用京津冀协同发展的先行领域
  • 网站页面设计说明深圳南山网络公司
  • wordpress翻页按钮颜色怀来网站seo
  • 北京自适应网站建设wap页面模板
  • 临沂网站公司哪家好网站建站的标准
  • 网站建设要托管服务器怎么查网站是不是百度做的
  • 免费素材网站大全wordpress评论心情插件
  • 替网站做任务怎么做的免费的app开发工具
  • wordpress 两个域名青岛抖音seo
  • 案例网站有哪些公司网站市场价
  • 广州市网站网络品牌推广ppt
  • 网站建设jw100做网站怎么套用模板
  • 网站页脚包括什么asp类似wordpress
  • 做家教中介网站赚钱吗?python改写WORDPRESS
  • 做网站应下哪个软件服装网站建设基本流程
  • 个人网页模板背景seo排名优化培训怎样
  • 襄阳网站建设八零后昆明网站推广8888168
  • 昆明网站服务网站建设简称什么
  • 关于网站建设外文文献漳州微信网站建设
  • 网站备案修改域名西安百度搜索排名
  • 网站建设推进计划包头市网站建设公司
  • 网站维保方法中小企业怎么优化网站
  • 中山网站建设的企业宁波seo优化服务
  • 做网站公司分为国内还是国外什么是网站功能
  • 阿里云如何做网站最新传奇网页游戏排行榜
  • 南宁seo网站排名优化咨询网站设计
  • 腾云网建站兼职做网站的软件
  • 设计了网站首页优化网站使用体验
  • 唱片公司网站模板admin登录网站