import java.util.*; /* * public class ListNode { * int val; * ListNode next = null; * public ListNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pHead ListNode类 * @param k int整型 * @return ListNode类 */ // 求链表长度 public int size(ListNode pHead) { if(pHead == null) return 0; int cnt = 0; ListNode p =pHead; while(p != null) { cnt++; p = p.next; } return cnt; } // 查找索引index对应的节点 public ListNode findNode(ListNode pHead, int index) { int cnt = 0; ListNode p = pHead; while(p != null && cnt != index) { p = p.next; cnt++; } return p; } public ListNode FindKthToTail (ListNode pHead, int k) { // write code here int size = size(pHead); if(size < k)return null; int index = size - k; return findNode(pHead, index); } }