在本篇文章里,我将分享一道很经典的算法题———链表中倒数第k个结点,并且分享解题思路,希望可以帮助到你😀😀😀
题目描述:
输入一个链表,输出该链表中倒数第k个结点。
示例1:
输入:1,{1,2,3,4,5}
返回值:{5}
以下代码均经过牛客测试,均正确,请放心测试😊😊😊
解题思路:
这是一道经典的快慢指针问题,设置一对快慢指针即可!
代码:
struct ListNode* FindKthToTail(struct ListNode* pListHead, int k )
{
// write code here
struct ListNode* fast = pListHead, *slow = pListHead;
while (k--)
{
if (fast == NULL)
{
return NULL;
}
fast = fast->next;
}
while (fast) {
fast = fast->next;
slow = slow->next;
}
return slow;
}
结果展示:
最后
十分感谢你可以耐着性子把它读完和我可以坚持写到这里,送几句话,对你,也对我:
1、要么努力往上爬,要么烂在社会最底层。
2你现在的努力,真的配得上你的野心吗 ?
3、承认吧你表面的不屑,只是因为你骨子里的不敢。
4、“你说我现在开始好好学,晚了吗?” “我说晚了,你就不学吗???” 他们都是假装颓废,而你是真的颓废。
5、有种错觉叫做“我在头脑中激情澎湃了一会儿就权当我努力过了”,还有种常态叫做“我临睡前想做件大事改变世界激动得睡不着第二天早上连早起都做不到”。
最后如果觉得我写的还不错,请不要忘记点赞✌,收藏✌,加关注✌哦(。・ω・。)
**愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚==菜鸟==逐渐成为==大佬==。加油,为自己点赞!**