网站制作横幅图片素材,专业网站建设价格分析,建立什么网站赚钱,南阳网站制作怎么样牛客网 链表中倒数第k个结点
题目描述
描述
输入一个链表#xff0c;输出该链表中倒数第k个结点。 思路分析
这是一道经典的快慢指针题#xff0c;fast和slow最开始都指向头结点#xff0c;对于输入值k#xff0c;先让快指针fast先走k步#xff0c;之后再让两个指针一…牛客网 链表中倒数第k个结点
题目描述
描述
输入一个链表输出该链表中倒数第k个结点。 思路分析
这是一道经典的快慢指针题fast和slow最开始都指向头结点对于输入值k先让快指针fast先走k步之后再让两个指针一起走最后slow指向的就是对应的结点。
我的理解就是利用slow与fast的差值形成一个区间将这个区间进行遍历当快指针遍历到尾时相当于从倒数第一个开始往前找slow。
完整代码
struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) {struct ListNode* slowpListHead;struct ListNode* fastpListHead;while(k--){if(fastNULL){return NULL;}fastfast-next;}while(fast){fastfast-next;slowslow-next;}return slow;}