解题思路

/*** 两个指针p1,p2,开始都指向头结点* 先让p2走k步* 然后p1,p2同时向下走* 当p2指向null的时候,p1就是倒数第k个节点*/

代码

/*
class ListNode {int val;ListNode next = null;ListNode(int val) {this.val = val;}
}*/public static ListNode FindKthToTail(ListNode head,int k) {if(head == null) return null;ListNode p1 = head,p2 = head;while (k>0 && p2 != null){p2 = p2.next;k--;}//p2 指向head说明k<=0,p2==null && k>0说明 k超过了链表的长度if(p2 == head || (p2 == null && k>0)) return  null;while (p2!=null){p1 = p1.next;p2 = p2.next;}return p1;}

输入一个链表,输出该链表中倒数第k个结点相关推荐

  1. 【编程题目】输入一个单向链表,输出该链表中倒数第 k 个结点

    第 13 题(链表): 题目:输入一个单向链表,输出该链表中倒数第 k 个结点.链表的倒数第 0 个结点为链表 的尾指针. 链表结点定义如下: struct ListNode { int m_nKey ...

  2. 算法:输入一个链表,输出该链表中倒数第k个结点。

    算法:输入一个链表,输出该链表中倒数第k个结点.<剑指offer> 思路加到注释里面了: 1:两个if判断是否返回值为空,首个为空,没有第k个值: 2:for循环找到倒数第k个值,返回为a ...

  3. 一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针

    输入一个单向链表,输出该链表中倒数第k个结点.链表的倒数第0个结点为链表的尾指针 typedef struct _node_t {struct _node_t *next;int data; }Nod ...

  4. 输出链表中倒数第k个结点

    题目描述输入一个链表,输出该链表中倒数第k个结点. 分类:链表 解法1:双指针,第一个指针先走k步,然后第二个指针也开始走,当第一个指针到达末尾,第二个指针也就是到了倒数第k个节点 要注意null链表 ...

  5. 输出该链表中倒数第k个结点

    package demo;/* public class headNode {int val;headNode next = null;headNode(int val) {this.val = va ...

  6. 华为机试HJ51:输出单向链表中倒数第k个结点

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针. ...

  7. 剑指offer_第14题_链表中倒数第k个结点_Python

    题目描述 输入一个链表,输出该链表中倒数第k个结点. 理解 链表详解 python数据结构之链表 解题思路 思路1 确定链表种结点个数lenth 倒数第k个结点就是第length-k+1个结点 需要考 ...

  8. 【Java】找到链表中倒数第k个结点

    题目描述 : 输入一个链表,输出该链表中倒数第k个结点. 解题思路 : 1.根据以上链表进行分析 2.算法思想 : 定义两个引用,即快慢指针,都从头节点开始向后走: 要找到倒数第k个节点,即要让快指针 ...

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

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

  10. 面试经典:链表中倒数第k个结点?如何从大量数据中找出高频词?

    记录两道面试题: 题目描述: 输入一个链表,输出该链表中倒数第k个结点.(单向链表) 拿到这个问题的时候自然而然会想到让链表从末尾开始next   K-1 次不就是第K-1个节点了么,但是必须要注意一 ...

最新文章

  1. centos7重新加载服务的命令_阿粉手把手教你在 CentOS7 下搭建 Jenkins
  2. C语言实现链式栈(LinkStack)
  3. string获取 倒数 下标_Redis系列:Redis字符串(STRING)介绍
  4. Spark系列-初体验(数据准备篇)
  5. Java集合(Collection)综述
  6. 来到ThoughtWorks
  7. python程序中name的作用_python编程中的if __name__ == '__main__': 的作用和原理
  8. DASCTF2022.07赋能赛 - Pwn easyheap
  9. pageHelper.startPage(m,n)的用法
  10. mpAndroidchart 坐标和图表距离_合二为一——在Excel中制作组合图表!
  11. DAS、SAN和NAS三种存储方式
  12. AList上传文件提示Request failed with status code 413
  13. VC++实现打开文件和打开所在文件夹的功能(附源码)
  14. windows保护无法启动修复服务器,如何解决win10“Windows资源保护无法启动修复服务”错误 | MOS86...
  15. SPFA 跑得快,跑得快。最小花费问题
  16. Oracle 数据精度错误-ORA-01438
  17. java线程说法正确是_下列关于Java线程的说法正确的是
  18. Neo4j 系列(1) —— 初识 Neo4j
  19. rv1126开发板设置修改ip地址
  20. jieba+wordcloud 分词+词频可视化 问题总结

热门文章

  1. 用户登陆进去后,没有权限操作
  2. GitHub提交代码后不显示用户名只显示邮箱
  3. MySQL中的isnull、ifnull和nullif函数用法
  4. yaf零基础学习总结7-学习使用Yaf中的插件
  5. IOS开发--网络篇--GET请求和POST请求
  6. KingDZ 变菜鸟,每日一个C#小实例之---玩转鼠标
  7. 三种图象处理的效率比较,用指针法最快
  8. 嵌入式基础面八股文——孤儿进程、僵尸进程、守护进程的概念(3)
  9. HDU 1811 Rank of Tetris(并查集+拓扑排序 非常经典)
  10. centos7 安装python3.6 及模块安装演示