题目描述:
输入一个链表,输出该链表中倒数第k个结点。
思路:
定义两个指针,一个先走k-1步,然后两个指针同时往后走,直到一个指针为空,则另一个指针指向的即倒数第k个结点。
代码实现:
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode FindKthToTail(ListNode head,int k) {
if(head == null ||k<=0) return null;
ListNode firstIndex = head;
ListNode secondIndex = head;
for(int i=0;i<k-1;i++){
if(firstIndex.next!=null){
firstIndex = firstIndex.next;
}else{
return null;
}
}
while(firstIndex.next!=null){
firstIndex = firstIndex.next;
secondIndex = secondIndex.next;
}
return secondIndex;
}
}