查找链表的倒数第n个节点


// 返回链表的倒数第 k 个节点
ListNode findFromEnd(ListNode head, int k) {
 ListNode p1 = head;
 // p1 先? k 步
 for (int i = 0; i < k; i++) {
 p1 = p1.next;
 }
 ListNode p2 = head;
 // p1 和 p2 同时? n - k 步
 while (p1 != null) {
 p2 = p2.next;
 p1 = p1.next;
 }
 // p2 现在指向第 n - k 个节点
 return p2;
}