LeetCode|LeetCode 环形链表
给定一个链表,判断链表中是否有环。进阶:
你能否不使用额外空间解决此题?
思路: 由于每一个父亲只有可能有一个孩子,故这里的环实际上是指链表中某一个节点的孩子同时也是它自己或者他的祖先。 这个问题需要注意下面几种情况:
- 空链表不成环
- 一个节点自环
- 一条链表完整成环
代码如下:
public boolean hasCycle(ListNode head) {ListNode fast = head;
ListNode slow = head;
while (fast != null && fast.next != null) {fast = fast.next.next;
slow = slow.next;
if (fast == slow) {
return true;
}
}
return false;
}
【LeetCode|LeetCode 环形链表】思路参考自 [LeetCode-141] Linked List Cycle(判断链表是否有环)
推荐阅读
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- leetcode|leetcode 92. 反转链表 II
- 二叉树路径节点关键值和等于目标值(LeetCode--112&LeetCode--113)
- LeetCode算法题-11.|LeetCode算法题-11. 盛最多水的容器(Swift)
- LeetCode(03)Longest|LeetCode(03)Longest Substring Without Repeating Characters
- Leetcode|Leetcode No.198打家劫舍
- [leetcode数组系列]1两数之和
- 数据结构和算法|LeetCode 的正确使用方式
- leetcode|今天开始记录自己的力扣之路
- LeetCode|LeetCode 876. 链表的中间结点