程序特点:利用了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;
}
}
京公网安备 11010502036488号