/*
实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。
注意:本题相对原题稍作改动
示例:
输入: 1->2->3->4->5 和 k = 2
输出: 4
说明:
给定的 k 保证是有效的。
来源:力扣(LeetCode)
*/
/*
说明:
双指针,第一个指针先前进k步,然后两个指针同时往前走,
一直到第一个指针指向表尾空;
*/
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
int kthToLast(struct ListNode* head, int k){
struct ListNode *fristPtr = head, *secondPtr = head;
int i = 1;
while (secondPtr){
if (i > k) {
fristPtr = fristPtr->next;
}
secondPtr = secondPtr->next;
i++;
}
return fristPtr->val;
}
返回倒数第 k 个节点
最新推荐文章于 2023-04-25 23:03:59 发布