JZ22:链表中倒数第k个结点
- 电脑硬件
- 2025-08-12 20:30:03

JZ22:链表中倒数第k个结点
题目描述:
输入一个链表,输出该链表中倒数第k个结点。
示例1
输入: 1,{1,2,3,4,5}
返回值: {5}
分析: 快慢指针思想:
需要两个指针,快指针fast,慢指针slow
倒数第k个节点和最后一个节点差k-1
先让fast走k步,再让两个指针同时走,直到fast为空时,停止走
最后返回slow指针,即倒数第k个节点
代码:
/** * struct ListNode { * int val; * struct ListNode *next; * }; */ /** * * @param pListHead ListNode类 * @param k int整型 * @return ListNode类 */ struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) { // write code here struct ListNode*fast=pListHead,*slow=pListHead; while(k--) { if(fast==NULL) { return NULL; } fast=fast->next; } while(fast) { fast=fast->next; slow=slow->next; } return slow; }JZ22:链表中倒数第k个结点由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“JZ22:链表中倒数第k个结点”