判断链表有无环
package facehandjava.Linked;
public class hasLoop {
public static boolean hasLoop(Node node) {
Node node1 = node;
Node node2 = node;
while (node1.getNext()!= null && node2.getNext().getNext() != null) {
node1 = node1.getNext();
node2 =node2.getNext().getNext();
if (node1== node2) {
return true;
}
}
return false;
}
public static void main(String[] args) {
Node n6 = new Node(11,null);
Node n5 = new Node(9, n6);
Node n4 = new Node(7, n5);
Node n3 = new Node(5, n4);
Node n2 = new Node(3, n3);
Node n1 = new Node(1, n2);
n6.setNext(n4);
System.out.println(hasLoop(n1));
}
}