题目:输入一个链表,输出该链表中倒数第k个结点。
思路:两个指针最开始都指向head节点,让其中一指针先移动k-1步,然后另一个指针在一起移动;后一个指针指向的即是倒数第k个节点。
源码:
public class Solution {
public ListNode FindKthToTail(ListNode list,int k) {
if (list == null) return list;
ListNode node = list;
int count = 0;
while (node != null) {
count++;
node = node.next;
}
if (count < k) return null;
ListNode p = list;
for (int i = 0; i < count - k; i++) {
p = p.next;
}
return p;
}
}