使用的链表相关定义及函数在:链表最小结构(C++版本)

实现原理:

使用两个指针pFrontNode、pBackNode,它们都指向头节点。
先让pFrontNode向前走k-1步,然后两个指针同时向前走。
当pFrontNode指向最后一个节点时,pBackNode指向的节点即为倒数第k个节点(因为两个指针的距离位k-1)。

实现代码

ListNode* GetNthNodeFromTail(const MyList& myList, unsigned int destIdx)
{if (nullptr == myList.pHead || 0 == destIdx) return nullptr;ListNode* pFrontNode = myList.pHead;for (int curCount = 1; curCount <= destIdx - 1; ++curCount) // pFrontNode向前走k-1步{if (nullptr == pFrontNode->pNext) return nullptr; // 一定要判断这里pFrontNode = pFrontNode->pNext;}ListNode* pBackNode = myList.pHead;while (pFrontNode->pNext != nullptr){pFrontNode = pFrontNode->pNext;pBackNode = pBackNode->pNext;}return pBackNode;
}

15. 链表中倒数第k个节点(C++版本)相关推荐

  1. 剑指offer:面试题22. 链表中倒数第k个节点

    题目:链表中倒数第k个节点 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点.例如,一个链表有6个节点,从头节点开始,它们的值依次是1 ...

  2. 链表中倒数第k个节点

    链表中倒数第k个节点 [题目]: 输入一个链表,输出该链表中倒数第k个节点. 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1.2.3.4.5.6.这个链表的倒数第 3 个节点是值为 4 ...

  3. 链表中倒数第k个节点 1

    题意: 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点. 例如,一个链表有6个节点,从头节点开始,它们的值依次是1.2.3.4.5. ...

  4. 【每日一题】剑指 Offer 22. 链表中倒数第k个节点

    剑指 Offer 22. 链表中倒数第k个节点

  5. 递增的整数序列链表的插入_每日算法题 | 剑指offer 链表专题 (5)链表中倒数第k个节点...

    点击上方"Jerry的算法和NLP",选择"星标"公众号 重磅干货,第一时间送达 题目 链表中倒数第k个节点 题目要求 输入一个链表的头结点,从尾到头反过来打印 ...

  6. LeetCode-剑指 Offer 22. 链表中倒数第k个节点

    剑指 Offer 22. 链表中倒数第k个节点 思路一:利用快慢双指针 /*** Definition for singly-linked list.* struct ListNode {* int ...

  7. python 链表中倒数第k个节点

    | 返回链表中倒数第K个节点 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点. 例如,一个链表有 6 个节点,从头节点开始,它们的值 ...

  8. 《漫画算法2》源码整理-8 链表中倒数第K个节点元素

    链表中倒数第K个节点元素 public class KthFromEnd {public static Node findKthFromEnd(Node head, int k){Node p1 = ...

  9. 剑指 Offer 22. 链表中倒数第k个节点(C语言)

    输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点. 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1.2.3.4.5.6 ...

  10. 牛客网(剑指offer) 第十四题 链表中倒数第k个节点

    //题目描述:输入一个链表,输出链表该链表中倒数第k个节点. <?php /*class ListNode{var $val;var $next = NULL;function __constr ...

最新文章

  1. python输入输出-python 输入输出 - 刘江的python教程
  2. centos6下jbd2进程占用大量IO处理
  3. 遍历Newtonsoft.Json.Linq.JObject
  4. 0x13链表与邻接表之邻值查找
  5. 女博士年薪156万入职华为!实力演绎美貌与智慧并重
  6. 记录excel翻车现场
  7. 飞鸽传书已经写了5年,还是老样子。
  8. 定时关机 v1.0(autoshut v1.0)
  9. jboss:在standalone.xml中设置系统属性(system-properties)
  10. 2021龙小丽高考成绩查询,学霸高考672分,家长强令复读考清华,分数出来全家人失望...
  11. 赶在世界末日前完成的2012年全年总结
  12. 【考研经验分享】2020信工所二室双非上岸经验贴
  13. md文档转换为HTML文件
  14. Java 编程问题:三、使用日期和时间
  15. 安大计算机学院导师有姓汪的,汪西莉-陕西师范大学计算机科学学院
  16. IEEE会议投稿资料汇总http://cadcg2015.nwpu.edu.cn/index.htm
  17. 4g手机关闭4g信号显示无服务器,手机4G信号栏为什么突然出现“HD”?原来开通了这个业务,望周知...
  18. 一种锂电池充电器的设计方案(使用LM317)
  19. mysql 迪卡尔运算_「笛卡尔乘积」mysql笛卡儿积 - seo实验室
  20. Object oriented Design

热门文章

  1. .NetCore Session.Redis (转载)
  2. [译] Promise A+ 标准
  3. 什么是C++标准库?
  4. java面试题整理(二)
  5. perl的USE和require
  6. 从CCNA到CCNP笔记宝典(第一版)发布了
  7. 看斯皮尔伯格大爷,看政治与奥运
  8. 10.凤凰架构:构建可靠的大型分布式系统 --- 可观测性
  9. 143.根据文件头判断类型
  10. 27. 面向对象程序设计(2)