首页 > 代码库 > Leetcode 141. Linked List CycleJAVA语言
Leetcode 141. Linked List CycleJAVA语言
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. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public boolean hasCycle(ListNode head) { ///定义两个快慢指针。有环的话快指针一定会和慢指针相遇。否则快指针就提前到尾巴了 ////应该是我那会的考研题ca if(head==null || head.next==null || head.next.next==null)return false; ListNode fast=head.next.next; ListNode slow=head.next; while(fast!=slow){ if(fast.next!=null && fast.next.next!=null){ fast=fast.next.next; slow=slow.next; }else{ //fast提前走到了尾 return false; } } return true; } }
PS:快慢指针。注意判断边界条件
Leetcode 141. Linked List CycleJAVA语言
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。