Solution1:

典型的双指针题目。但要考虑到很多边界条件!
注意此题中陷阱很多,具体看书中解释
20181008修改代码

/*
struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {}
};*/
class Solution {
public:ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {struct ListNode* p1 = pListHead,*p2=pListHead;int abs_k = k;if (!k) return NULL;while (--abs_k > 0) {if (!p2 || !p2->next)return NULL;p2 = p2->next;}while (p2->next != NULL) {p1 = p1->next;p2 = p2->next;}return p1;}
};

原答案

/*
struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {}
};*/
class Solution {
public:ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {struct ListNode* p1 = pListHead,*p2=pListHead;int abs_k=k;if(k==0) return NULL;while(--abs_k>0){if(p2 == NULL || p2->next == NULL)return NULL;p2=p2->next;}while(p2->next!=NULL){p1=p1->next;p2=p2->next;}return p1;}
};

剑指offer——面试题15:链表中倒数第k个结点相关推荐

  1. 剑指offer面试题[15]-链表中倒数第K个结点

    题目描述 输入一个链表,输出该链表中倒数第k个结点. 思路: 假设链表有n个结点,那么倒数第k个结点就是从头结点开始的第n-k+1个结点,我们只要从头结点开始往后走n-k+1步就可以了.那么问题来了: ...

  2. 【剑指offer-Java版】15链表中倒数第K个结点

    链表中倒数第K个结点:快慢指针解决 需要注意的地方是 1) 可能会存在输入的链表大小小于k 2) 输入的k可能小于等于0 - 所以必须限定k大于0 public class _Q15 {public ...

  3. 剑指Offer - 面试题22. 链表中倒数第k个节点(快慢指针)

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

  4. 剑指offer面试题22. 链表中倒数第k个节点(链表)

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

  5. 剑指offer(C++)-JZ22:链表中倒数最后k个结点(数据结构-链表)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点 ...

  6. [剑指offer]面试题15:链表中倒数第k个结点

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

  7. 剑指Offer #14 链表中倒数第k个结点(快慢指针) | 图文详解

    题目来源:牛客网-剑指Offer专题 题目地址:链表中倒数第k个结点 题目描述 输入一个链表,输出该链表中倒数第k个结点. 节点结构如下: public class ListNode {int val ...

  8. 剑指offer:链表中倒数第k个结点 python实现

    链表中倒数第k个结点 输入一个链表,输出该链表中倒数第k个结点. 解题思路 暴力求解: 判断链表是否为空: 复制链表,遍历一遍统计其长度: 如果长度小于k.则返回None: 否则,返回其长度-k的链表 ...

  9. 《剑指offer》链表中倒数第k个结点

    题目:输入一个链表,输出该链表中倒数第k个结点. 解析:需要逆向输出节点,可以正向把所有的节点都保存到list里,然后再逆向的输出 /* public class ListNode {int val; ...

  10. 《剑指Offer》 链表中倒数第k个结点

    题目描述: 输入一个链表,输出该链表中倒数第k个结点. 思路: 设置一个新ret,先将pListHead位置往后移k-1位,使得ret与pListHead距离为k-1,这样只要pListHead为最后 ...

最新文章

  1. python twisted 笔记
  2. storm能不能测试wadl_情感测试:4朵玫瑰花,哪个会最扎手?测你婚后能不能享住TA?...
  3. Thinkpad T420 指纹开机 win10 解决方案
  4. 反编译工具dnspy的安装与使用;
  5. linux 交叉编译 nginx,交叉编译nginx,luajit
  6. algorand共识协议_【Filecoin】理解预期共识 - 及它的优缺点
  7. LeetCode 111. Minimum Depth of Binary Tree
  8. ORACLE检查点测试,oracle深度解析检查点
  9. 创业经验点滴 五(转) 关于淘宝
  10. spring boot + websocket 简单实现斗鱼弹幕功能
  11. 字符串集合中相互包含关系算法
  12. 用dw 删除重复html文件,Dreamweaver怎么撤销重做,DW怎么返回上一步,看完就明白了...
  13. 春招必看一位老学长的真实互联网校招求职心路历程~
  14. IDEA启动报错Plugin Error Problems found loading plugins: Plugin “GlassFish Integration“ was not...
  15. 小程序---微信本地存储的方法
  16. 国有企业数字化转型建设方法论
  17. 华为老总身份彻底曝光,全世界感到害怕!
  18. nodejs学习-fs模块
  19. FreeMarker 网页静态化
  20. “互联网 +”智慧环保解决方案-山东达斯特

热门文章

  1. DotNetNuke 04.05.05 安装
  2. 人工智能学习(二)安装tensorflow与pytorch
  3. python实习生面试题_【实习】暑期实习之python笔试题(一)
  4. Linux启动nacos成功日志_nacos初体验踩坑与填坑篇
  5. android开发 解析 b5,张绍文android开发高手课读书笔记4-启动优化篇
  6. Ubuntu18.04下解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题
  7. java日期减去天数得日期_Java日期添加天数,减去天数,日历
  8. Android Q功能
  9. android toast_Android Toast
  10. mapreduce代码示例_MapReduce算法示例