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

class Solution{
public:
		ListNode* FindKthToTail(ListNode* pListHead, unsigned int k){
			ListNode* slowNode = pListHead;
			while(k!=0){
				k--;
				if(pListHead != nullptr) pListHead = pListHead-> next;
				else
				 	return nullptr;
			}
			while(pListHead != nullptr){
				slowNode = slowNode -> next;
				pListHead = pListHead -> next;
			}
			return slowNode;
		}
};


整体思路:首先让快指针先行k步,然后让快慢指针每次同行一步,直到快指针指向空节点,慢指针就是倒数第K个节点

首先定义两个指针,快和慢。k循环到零,同时快指针往前走k长,在来个循环,当链表不为空时,快指针和慢指针一起往前走,快指针走到头的时候就跳出循环,此时慢指针所在的位置就是要求的倒数第K个结点!!!

#剑指offer#
全部评论
感谢大佬分享
1 回复 分享
发布于 2023-03-21 17:18 天津
感谢分享,学习一下
1 回复 分享
发布于 2023-03-21 17:39 湖北

相关推荐

不愿透露姓名的神秘牛友
2024-11-23 10:38
沉淀一会:**圣经 1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
2024-12-10 05:47
天津外国语大学 Java
27🐭🐭许愿offer:27确实少,沟通六百多,只约了7厂,猛猛投,还是有机会的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务