链表中倒数第k个节点
输入一个链表,输出该链表中倒数第k个结点。
注意:
k >= 0;
如果k大于链表长度,则返回 NULL;
样例
输入:链表:1->2->3->4->5 ,k=2
输出:4
遍历
时间复杂度O(n)
class Solution {
public ListNode findKthToTail(ListNode pListHead, int k) {
if(pListHead == null || k == 0){
return null;
}
int count = 0;
ListNode listNode = pListHead;
while(listNode != null){
count++;
listNode = listNode.next;
}
if(k > count){
return null;
}
listNode = pListHead;
int res = count - k;
while(listNode != null){
if(res == 0){
return listNode;
}
res--;
listNode = listNode.next;
}
return null;
}
}