博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode: Linked List Cycle [141]
阅读量:6296 次
发布时间:2019-06-22

本文共 698 字,大约阅读时间需要 2 分钟。

【题目】

Given a linked list, determine if it has a cycle in it.

Follow up:

Can you solve it without using extra space?

【题意】

    推断一个单向链表是否有环

【思路】

    维护两个指针p1和p2,p1每次向前移动一步,p2每次向前移动两步
    假设p2可以追上p1,则说明链表中存在环

【代码】

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    bool hasCycle(ListNode *head) {        ListNode*p1=head;        ListNode*p2=head;        while(p2){            //p1向前走一步            p1=p1->next;            //p2向前走两部            p2=p2->next;            if(p2)p2=p2->next;            //推断p2是否追上了p1            if(p2 && p2==p1)return true;        }        return false;    }};

转载地址:http://vblta.baihongyu.com/

你可能感兴趣的文章
有关rsync的一些语句
查看>>
Mysql密码修改
查看>>
Windows 7加域操作手册下
查看>>
Python Tools for Machine Learning
查看>>
php扩展模块安装-lamp
查看>>
Windows 系统优化与瘦身
查看>>
【前端开发与项目管理】
查看>>
H3C 无线控制器WX5004配置案例
查看>>
在fedora21 上的php+mysql+apache环境搭建
查看>>
表示需要
查看>>
excel用vlookup查询的值存在两个相同数值的时候,如何都显示出来?
查看>>
向服务器请求数据的五种技术
查看>>
CentOS 7.x自定义开机启动设置
查看>>
Web动画API教程:可爱的运动路径(Motion Path)
查看>>
数据库软件安装和数据库创建的几种方法
查看>>
批量添加AD账号(三)
查看>>
Metasploit-MS17-010利用
查看>>
python 学习
查看>>
PXC DDL 操作阻塞写
查看>>
flappy bird游戏源代码揭秘和下载后续---移植到android真机上
查看>>