1.题目描述
输入一个链表,输出该链表中倒数第k个结点。
2.解题思路
- 先用一个count计算出链表的长度,如果count<k,返回null
- 链表的倒数第K个即为链表的正数(count-k+1)个,一个for循环,将指针轮询到那个点,然后再将起后面截断(head.next = null)即可。
3.代码
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
*/
public class Solution {
public ListNode FindKthToTail(ListNode head,int k) {
ListNode root = head;
int count = 0;
while(root!=null){
count ++;
root = root.next;
}
if(count<k){
return null;
}
//倒数第K个即正数第(count-k+1)个
for(int i = 1;i<(count-k+1);i++){
head = head.next;
}
return head;
}
}