国内做网站最大的公司有哪些,网站展示模板psd下载,软件开发基本流程,服装设计手绘图JZ22#xff1a;链表中倒数第k个结点
题目描述#xff1a;
输入一个链表#xff0c;输出该链表中倒数第k个结点。
示例1
输入#xff1a; 1,{1,2,3,4,5}
返回值#xff1a; {5}
分析#xff1a; 快慢指针思想#xff1a;
需要两个指针#xff0c;快指针fast链表中倒数第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 herestruct ListNode*fastpListHead,*slowpListHead;while(k--){if(fastNULL){return NULL;}fastfast-next;}while(fast){fastfast-next;slowslow-next;}return slow;
}