实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。
注意:本题相对原题稍作改动
示例:
输入: 1->2->3->4->5 和 k = 2 输出: 4
说明:
给定的 k 保证是有效的。
题解:这道题很常见,用快慢指针就可以解决,小编就不赘述了,直接看代码
/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/
int kthToLast(struct ListNode* head, int k) {struct ListNode*fast=head;struct ListNode*slow=head;while(--k){fast=fast->next;}while(fast->next!=NULL){fast=fast->next;slow=slow->next;}return slow->val;
}