链表中倒数第k个结点
Posted 东寻
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链表中倒数第k个结点相关的知识,希望对你有一定的参考价值。
题目描述
输入一个链表,输出该链表中倒数第k个结点。
思路
快慢指针注意边界。
时间复杂度O(n),空间复杂度O(1)。
代码
/*
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 < 1) return null;
ListNode slow = head;
ListNode fast = head;
for(int i = 1; i < k; i++){
if(fast.next == null) {
return null;
}
fast = fast.next;
}
while(fast.next != null) {
slow = slow.next;
fast = fast.next;
}
return slow;
}
}
以上是关于链表中倒数第k个结点的主要内容,如果未能解决你的问题,请参考以下文章