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

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

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

Follow up:

Can you solve it without using extra space?

思路

两个指针。一个每次走一步,另一个每次走两步,如果有环,会相遇。

/** * 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) {        if(head == NULL)            return false;        ListNode *pre = head;        ListNode *cur = head;        while(pre != NULL && pre->next != NULL)        {            pre = pre->next->next;            cur = cur->next;            if(pre == cur)                return true;        }        return false;    }};

做题是两个细节:

1. 上来判断head是否为空

2. 循环的条件是(pre != NULL && pre->next != NULL)

 

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

你可能感兴趣的文章
部署vCeter Server虚拟设备
查看>>
创建CrossApp工程
查看>>
Android实现类似QQ的滑动删除效果
查看>>
Linux中ftp连接530错误的解决方法
查看>>
python 将子目录文件上移到指定根目录
查看>>
mysql启动之:报错解决办法
查看>>
CentOS 7系统上部署Apache+PHP+MariaDB+xcache使用rpm,php module
查看>>
随机数的生成
查看>>
记录一次勒索病毒漏洞扫描发现过程
查看>>
C语言之有符号数和无符号数
查看>>
windows server 2008 R2 远程报错
查看>>
inode 索引节点和软硬链接
查看>>
文本处理工具基础(grep系、sed、awk等)
查看>>
Android常用URI收藏
查看>>
团队用过最好的bug管理软件-delbug管理
查看>>
Swift和OC的区别
查看>>
Java下一个简单的数据库分库帮助类
查看>>
Thread初探
查看>>
磁盘的读写原理
查看>>
配置防盗链、访问控制Directory针对目录、访问控制FilesMatch针对链接
查看>>