【力扣-JZ22】链表中倒数第k个结点

news/2024/12/29 12:15:58/

🖊作者 : Djx_hmbb
📘专栏 : 数据结构
😆今日分享 : "把手插进米堆的原因 " : 因为米堆类似于高密度的流体,会给人的手带来较大的压强,这种压强促进静脉血回流,会让人感到生理上的舒服。
请添加图片描述

文章目录

  • ✔题目链接:
  • ✔题目:
  • ✔解题思路:
    • 遍历两次(第一反应):
    • 遍历一次->快慢指针(优化):
  • ✔代码详情:
    • 🔎遍历两次:
    • 🔎遍历一次->快慢指针:
    • 🔎图解:
    • 家人们,点个![请添加图片描述](https://img-blog.csdnimg.cn/11dae7d2dd1b46b2b021edaccee67cf1.jpeg)再走呗~

✔题目链接:

【力扣-JZ22】

✔题目:

在这里插入图片描述

✔解题思路:

遍历两次(第一反应):

: >先计算链表有多长,然后length–,找到第k个指针

遍历一次->快慢指针(优化):

: >fast指针先走k步,然后slow和fast指针同时向后移动

✔代码详情:

🔎遍历两次:

struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) {// write code herestruct ListNode* cur=pListHead;struct ListNode* phead=pListHead;//计算链表的长度int length=0;while(cur){cur=cur->next;length++;}if(k>length || k<= 0){return NULL;}//判断是否到倒数第k个结点int i = length-k;while(i--){phead=phead->next;}//返回倒数第k个的头结点return phead;
}

🔎遍历一次->快慢指针:

//优化:快慢指针(遍历一次)
struct ListNode* FindKthToTail(struct ListNode* pListHead, int k) {struct ListNode* fast = pListHead;struct ListNode* slow = pListHead;//使fast与slow相距k个结点while (k--) {if(fast)fast = fast->next;}//fast与slow同时后移while (fast) {slow = slow->next;fast = fast->next;}//返回slow指针return slow;
}

🔎图解:

请添加图片描述


感谢家人的阅读,若有不准确的地方 欢迎在评论区指正!

家人们,点个请添加图片描述再走呗~


http://www.ppmy.cn/news/48513.html

相关文章

android aidl

本文只是记录个人学习aidl的实现&#xff0c;如需学习请参考下面两篇教程 官方文档介绍Android 接口定义语言 (AIDL) | Android 开发者 | Android Developers 本文参考文档Android进阶——AIDL详解_android aidl_Yawn__的博客-CSDN博客 AIDL定义&#xff1a;Android 接口…

简单的小型C++项目怎么用CMAKE进行管理

项目目录&#xff1a; 根目录下共有两个文件夹&#xff0c;分别为include、src&#xff0c;有两个文件&#xff0c;分别为CMakeLists.txt和main.cpp main函数 可以看出&#xff0c;include了func.h&#xff0c;且func.h的声明在include文件夹下&#xff0c;定义在src文件夹下的…

MathType7最新版本下载安装与使用,注册表文件分享,添加为Word公式插件

wx供重浩&#xff1a;创享日记 对话框发送&#xff1a;mathtype 免费获取MathType7安装包注册表文件 MathType是强大的数学公式编辑器&#xff0c;与常见的文字处理软件和演示程序配合使用&#xff0c;能够在各种文档中加入复杂的数学公式和符号&#xff0c;可用在编辑数学试卷…

TCP协议三次握手过程分析

TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对主机层的传输控制协议&#xff0c;提供可靠的连接服务&#xff0c;采用三次握手确认建立一个连接: 位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结…

图片存储方案-七牛云存储

1.引语 在实际开发中&#xff0c;我们会有很多处理不同功能的服务器。例如&#xff1a; 应用服务器&#xff1a;负责部署我们的应用 数据库服务器&#xff1a;运行我们的数据库 文件服务器&#xff1a;负责存储用户上传文件的服务器 分服务器处理的目的是让服务器各司其职…

综合能源系统中基于电转气和碳捕集系统的热电联产建模与优化研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

总结826

学习目标&#xff1a; 4月&#xff08;复习完高数18讲内容&#xff0c;背诵21篇短文&#xff0c;熟词僻义300词基础词&#xff09; 学习内容&#xff1a; 高等数学&#xff1a;复习12讲二元积分&#xff0c;第12讲习题&#xff0c;做了17道题 英语&#xff1a;早上背单词&am…

CSS快速入门-选择器和优先级

文章目录 CSS简介选择器CSS样式优先级 CSS简介 CSS是一种用于样式化网页的语言&#xff0c;全称为“层叠样式表”&#xff08;Cascading Style Sheets&#xff09;。 它可以控制网页中元素的外观和布局&#xff0c;例如颜色、字体、大小、边距、对齐等&#xff0c;让网页变得…