链表中倒数第k个结点

Posted 爱吃榴莲的喵星人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链表中倒数第k个结点相关的知识,希望对你有一定的参考价值。

文章目录


一、题目描述

描述

输入一个链表,输出该链表中倒数第k个结点。

示例1

输入:1,1,2,3,4,5
返回值:5

题目链接


二、提供方便走读代码的图


三、题目代码

思路:fast先走k步,然后slow与fast再一起走。fast==NULL时,slow就是倒数第k个

/**
 * struct ListNode 
 *	int val;
 *	struct ListNode *next;
 * ;
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */

/**
 * 
 * @param pListHead ListNode类 
 * @param k int整型 
 * @return ListNode类
 */
struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) 
    // write code here
    struct ListNode* fast=pListHead;
    struct ListNode* slow=pListHead;
    while(k--)
    
        if(fast==NULL)
            return NULL;
        fast=fast->next;
    
    while(fast)
    
        fast=fast->next;
        slow=slow->next;
    
    return slow;


以上是本篇文章的全部内容,如果文章有错误或者有看不懂的地方,多和喵博主交流。互相学习互相进步。如果这篇文章对你有帮助,可以给喵博主一个关注,你们的支持是我最大的动力。

开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于链表中倒数第k个结点的主要内容,如果未能解决你的问题,请参考以下文章

链表oj----链表中倒数第k个结点

剑指Offer 链表中倒数第k个结点

链表中的倒数第k个结点

链表中倒数第K个结点

剑指Offer对答如流系列 - 链表中倒数第k个结点

剑指offer 14.链表中倒数第k个结点