面试题22:链表中倒数第k个节点

输入一个链表,输出该链表中倒数第k个结点。

思路在代码里面有,这里主要讲注意代码的鲁棒性,注意异常情况:

  1. 若输入的链表为空;
  2. 若输入的<=0;
  3. 若链表长度小于k.
    ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) 
    {
     //处理异常情况1,2
     if (pListHead == nullptr||k<=0)
         return nullptr;
     ListNode* p1 = pListHead, * p2 = pListHead;
     int i = 1;
     //p1走到k-1个位置
     while (i<k)
     {
         p1 = p1->next;
         i++;
         //处理异常情况3
         if (p1 == nullptr)
         {
             return nullptr;
         }
     }
     //p1与p2同步向后遍历,直至p1走到末端,p1所指即为倒数第k个节点
     while (p1->next!=nullptr)
     {
         p1 = p1->next;
         p2 = p2->next;
     }
     return p2;
    }
全部评论

相关推荐

头像
10-22 20:13
中南大学 Java
序言大家好呀。我是希晨er,一个初入职场的程序猿小登最近上班摸鱼刷到了一篇文章:10年深漂,放弃高薪,回长沙一年有感,还有聊聊30岁大龄程序员过往的心路历程,突然就有点感慨。我如今也做出了和大明哥一样的抉择,只是更早。此外我22年的人生,好像从来没好好记录过。正好现在工作不太忙,就想把这些经历写下来,也希望能得到社区里各位前辈的指点个人背景我是03年出生的西安娃,父母都是普通打工人。刚从中南大学软件工程专业毕业半年,现在在老家的央企过着躺平摆烂的日子成长轨迹从农村到城市的童年我家并不是西安的,只是爸妈在西安上班,从小学之后就把我接到了西安。后来老家房子拆了,爷爷奶奶也搬了过来。农村的生活,我觉...
Yki_:看哭了,恋爱那一段你女朋友说你不够关心她,可你毕竟也愿意遇到矛盾写几千字来和她慢慢分析;说不愿意给她花钱,我感觉可能只是消费观不一样;如果她想留在长沙,也应该提前跟你说开。不过她也许会心疼你放弃大厂offer转向数字马力?我也因为同样的原因有过一段幸福而充满遗憾的感情,不过跟爱情相比确实前途更重要一点。至于offer的选择,换我我也会这么选。把这些旧事记录下来以后,接下来就好好向前看吧,加油兄弟
🍊晨光随笔
点赞 评论 收藏
分享
09-14 17:23
门头沟学院
故事和酒66:所以说副业很重要,程序员干到40岁,再怎么也赚300万了,吃吃利息也够活下去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务