剑指offer JZ14 链表中第k个结点
发布日期:2021-05-07 13:14:28 浏览次数:17 分类:原创文章

本文共 589 字,大约阅读时间需要 1 分钟。

链表中第k个结点


输入一个链表,输出该链表中倒数第k个结点。
如果该链表长度小于k,请返回空。


思路


让第一个指针先走到k的位置,再两两个指针一起走,当第一个指针到达最后一个位置的时候,第二个指针就是倒数第k个


public ListNode FindKthToTail (ListNode pHead, int k) {
if(pHead==null||k==0) return null; // write code here int count = 1; ListNode p = pHead; while(p.next!=null){
// k若等于2,指针移动1次即可 p = p.next; if(count>=k){
//从第7个开始,第二个指针开始后移 pHead = pHead.next; } count++; } if(count<k) //如果count小于k,说明链长度小于k return null; return pHead; }
上一篇:剑指offer JZ15 反转链表
下一篇:剑指offer JZ13 调整数组顺序使奇数位于偶数前

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年04月11日 12时18分02秒