【Leetcode刷题笔记之链表篇】剑指 Offer 22. 链表中倒数第k个节点

博客主页:大家好我叫张同学
欢迎点赞 收藏 留言 欢迎讨论!
本文由 【大家好我叫张同学】 原创,首发于 CSDN
精品专栏(不定时更新) 【数据结构+算法】 【做题笔记】【C语言编程学习】
☀️ 精品文章推荐
【C语言进阶学习笔记】三、字符串函数详解(1)(爆肝吐血整理,建议收藏!!!)
【C语言基础学习笔记】+【C语言进阶学习笔记】总结篇(坚持才有收获!)


前言

为什么要写刷题笔记
写博客的过程也是对自己刷题过程的梳理总结,是一种耗时有效的方法。
当自己分享的博客帮助到他人时,又会给自己带来额外的快乐和幸福。
(刷题的快乐+博客的快乐,简直是奖励翻倍,快乐翻倍有木有QAQ)

题目内容

输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。
例如,一个链表有6个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3个节点是值为 4 的节点。

【Leetcode刷题笔记之链表篇】剑指 Offer 22. 链表中倒数第k个节点_第1张图片

原题链接(点击跳转)

遍历链表法

单链表要求倒数第k个结点,由于结点之间关系的单向性,并不好直接求。但是如果我们将倒数转化为顺数,那么仅需要从头节点开始遍历链表便可轻松实现,具体过程看图解。

算法图解

【Leetcode刷题笔记之链表篇】剑指 Offer 22. 链表中倒数第k个节点_第2张图片

函数实现
struct ListNode* getKthFromEnd(struct 

你可能感兴趣的:(做题笔记,数据结构+算法,leetcode,链表,算法)