欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > 返回倒数第k个节点题解

返回倒数第k个节点题解

2025/5/4 21:00:47 来源:https://blog.csdn.net/xpcxpt/article/details/147680213  浏览:    关键词:返回倒数第k个节点题解

这题要用到快慢指针的思想。

1.定义两个指针,一个快指针,一个慢指针,初始都指向头结点

2.先让快指针往后走k步,也就是移动k个节点,这个时候快指针比慢指针领先k

3.现在让快慢指针同时往后移动,两指针之间距离不会变

4.当快指针到达尾结点,循环结束,这个时候往前k个的节点恰好是慢指针指向的节点

5.返回慢指针指向节点的val

代码如下:

typedef struct ListNode LSTNode;
int kthToLast(struct ListNode* head, int k) {LSTNode *slow=head;//定义一个慢指针LSTNode *fast=head;//定义一个快指针//快指针先走k步while(k--){fast=fast->next;}//快慢指针同时走while(fast!=NULL){fast=fast->next;slow=slow->next;}//最后返回慢指针所指向的数据return slow->val;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词