程序特点:利用了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; } }