程序特点:利用了try catch语句处理了输入的链表长度小于k的情况,并且这样避免了if语句。

public class Solution {
    public ListNode FindKthToTail(ListNode head,int k) {
        ListNode element_k, pointer;// head储存指针当前位置开始的倒数第k个元素
        element_k = pointer = head;

        // 先进行遍历,到链表的第k+1个元素结束
        try {
            for (int i = 0; i < k; i++) {
                pointer = pointer.next;
            }
        } catch (java.lang.NullPointerException e) {
            return null;
        }

        // 再遍历完剩下的部分,这时候需要更新element_k
        while (pointer != null) {
            element_k = element_k.next;
            pointer = pointer.next;
        }

        return element_k;
    }
}