输入一个链表,输出该链表中倒数第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; } }