/**
假如存在重复,一个节点最终会追上另外的一个节点
*/
public class T1 {
public static void main(String[] args) {
Node f1 = new Node();
Node f2 = f1;
f1.next = null;
f1.value=0;
for(int i =0;i < 20;i ++){
Node f3 = new Node();
f3.value = i;
f1.next = f3;
f1 = f3;
}
System.out.println("是否存在循环:"+ check(f2));
}
static boolean check(Node node){
if(node == null){
return false;
}
Node f1 = node,f2 = node;
while(f1!=null && f2 !=null){
f2 = f2.next;
if(f2!=null&&f2.next!=null && f1.next!=null){
f1 = f1.next;
f2 =f2.next;
if(f1.value == f2.value){
return true;
}else{
System.out.println("!=");
}
}else{
return false;
}
}
return false;
}
static class Node{
public int value;
public Node next;
}
}
假如存在重复,一个节点最终会追上另外的一个节点
*/
public class T1 {
public static void main(String[] args) {
Node f1 = new Node();
Node f2 = f1;
f1.next = null;
f1.value=0;
for(int i =0;i < 20;i ++){
Node f3 = new Node();
f3.value = i;
f1.next = f3;
f1 = f3;
}
System.out.println("是否存在循环:"+ check(f2));
}
static boolean check(Node node){
if(node == null){
return false;
}
Node f1 = node,f2 = node;
while(f1!=null && f2 !=null){
f2 = f2.next;
if(f2!=null&&f2.next!=null && f1.next!=null){
f1 = f1.next;
f2 =f2.next;
if(f1.value == f2.value){
return true;
}else{
System.out.println("!=");
}
}else{
return false;
}
}
return false;
}
static class Node{
public int value;
public Node next;
}
}