题解 | #判断链表中是否有环#
判断链表中是否有环
http://www.nowcoder.com/practice/650474f313294468a4ded3ce0f7898b9
钻空子,取100001作为遍历标记,只要遍历过将其数据域变为100001 但是实际情况中数据基本上不会面面俱到 不过双指针适用性更广 /** * 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) { if(head == null){ return false; } ListNode temp = head; while(temp != null){ temp.val = 100001; if(temp.next == null){ return false; } if(temp.next.val == 100001){ return true; } temp = temp.next; } return false; } }