- 定义两个节点,一个快,一个慢
- 快的一次走两步;慢的一次走一步
- 当快的走到链表的最后时,慢的刚好走到一半,即链表的中间节点
class ListNode{
int data;
ListNode next;
}
public class Link{
public static void FindMid(ListNode first){
ListNode fast = first;
ListNode slow = first;
while((fast != null)&&(fast.next != null)){
fast = fast.next.next;
slow = slow.next;
}
System.out.println(slow.data);
}
public static void main(String[] args) {
ListNode n1 = new ListNode();
ListNode n2 = new ListNode();
ListNode n3 = new ListNode();