一、题目描述:
输入一个链表,输出该链表中倒数第k个结点。
二、解题思路:
1、求链表长度size。
2、倒数第k个节点等于正数第(size-k)个节点。
3、遍利链表,走(size-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) {
//判断k的合法性
if(k<0||k>size){
return null;
}
int size=getSize(head);
int steps=size-k;
ListNode cur=head;
for(int i=0;i<steps;i++){
cur=cur.next;
}
return cur;
}
//获取链表长度
private int getSize(ListNode head){
int size=0;
for(ListNode cur=head;cur!=null;cur=cur.next){
size++;
}
return size;
}
}