用递归来翻转链表:
// 翻转链表的方法(用递归来翻转链表)
public ListNode reverse(ListNode head){
if(head.next==null){
return head;
}
ListNode newHead=reverse(head.next);
head.next.next=head;
head.next=null;
return newHead;
}
快慢指针来查找链表的中点节点:
//当快指针每次走两步,当快直接指向结束的时候,慢指针刚好指到链表的中间
while(fast.next!=null&&fast.next.next!=null){
fast=fast.next.next;
slow=slow.next;
}