输入一个链表,输出该链表中倒数第k个结点。
注意:
k >= 0
;- 如果k大于链表长度,则返回 NULL;
样例
输入:链表:1->2->3->4->5 ,k=2
输出:4
代码:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode findKthToTail(ListNode pListHead, int k) {
if(pListHead==null)
return pListHead;
int count=0;
Stack stk = new Stack();
while(pListHead!=null){
stk.push(pListHead);
pListHead=pListHead.next;
count++;
}
if(k>count)
return null;
count=1;
while(!stk.isEmpty()){
if(count==k){
return (ListNode)stk.pop();
}else{
stk.pop();
}
count++;
}
return null;
}
}