leetcode 141. Linked List Cycle
2024-10-13 22:52:41
Given a linked list, determine if it has a cycle in it.
Follow up:
Can you solve it without using extra space?
题意:
判断一个链表是否有环。
解决方案:
双指针,快指针每次走两步,慢指针每次走一步,
如果有环,快指针和慢指针会在环内相遇,fast == slow,这时候返回true。
如果没有环,返回false.
/**
* Definition for singly-linked list.
* class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
public boolean hasCycle(ListNode head) {
ListNode fast = head, slow = head;
if(head == null || head.next == null) return false; while(fast != null && fast.next != null){
fast = fast.next.next;
slow = slow.next; if(fast == slow){
return true;
}
} return false;
}
}
最新文章
- 04-JAVA中的类和对象
- (原创)Louis Aston Knight 的家(摄影,欣赏)
- ios Swift 一些注意事项
- NSAssert的使用
- Servlet Threading Model
- slot signal机制
- Linux下Apache PHP MYSQL 默认安装路径
- [转]使用xftp连接centos6.5
- Java分布式应用技术架构
- BZOJ_2502_清理雪道_有源汇上下界最小流
- LOJ.2865.[IOI2018]狼人(Kruskal重构树 主席树)
- 不同主机的docker容器互相通信
- Mysql BLOB、BLOB与TEXT区别及性能影响、将BLOB类型转换成VARCHAR类型
- leetcode986
- C#6.0语言规范(十九) 文档注释
- hive外部表删除遇到的一个坑
- VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)
- 使用springcloud gateway搭建网关(分流,限流,熔断)
- oracle缩写与术语
- 图说使用socket建立TCP连接