快慢指针的妙用

1.判断是否有环

站在用户的角度思考问题,与客户深入沟通,找到天峻网站设计与天峻网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、成都网站设计、企业官网、英文网站、手机端网站、网站推广、申请域名、网络空间、企业邮箱。业务覆盖天峻地区。

通常情况下单链表的尾节点是为NULL的,如果一个单链表存在环必然会使尾节点的指针域

存放的是其中某个节点的地址,这样就形成了环状结构.

在环中fast走两步,slow走一步,总会在某个时候,fast=slow

bool hasCycle(SLinkNode *L){
    SLinkNode*p,*q;
    p=q=L;
//如果链表中只存在一个节点或者为空链表,则没有环
    if(L==NULL||L->next==NULL)
return false;
while(q!=NULL&&q->next!=NULL){
        q=q->next->next;
        p=p->next;
if(p==q)//快慢指针相遇则存在环
        return true; 
    } 
return false;
}

网页标题:快慢指针的妙用
文章出自:http://csruizhi.cn/article/dsoipop.html

其他资讯

Copyright © 2007-2024 成都优众联杰科技有限公司 All Rights Reserved 蜀ICP备2024116266号
友情链接: 成都商城网站制作 四川成都网站制作 成都商城网站建设 响应式网站设计方案 成都网站设计 企业网站设计 手机网站制作 成都网站制作 网站设计公司 成都网站建设 教育网站设计方案 成都网站制作 品牌网站建设 响应式网站建设 企业网站建设 高端网站设计推广 成都模版网站建设 广安网站设计 温江网站设计 高端网站设计 重庆电商网站建设 成都营销网站制作