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 ListNode FindKthToTail (ListNode pHead, int k) {

        if (pHead == null) {
            return pHead;
        }

        ListNode temp = pHead;
        int len = 0;

        while (temp != null) {
            len++;
            temp = temp.next;
        }

        if (k > len) {
            return null;
        }

        if (len == k) {
            return pHead;
        }

        //倒数第k个 就是正数第len-k个节点
        int index = len - k;
        ListNode curNode = pHead;

        while (index > 0) {
            index--;
            curNode = curNode.next;
        }

        return curNode;
    }
}