快慢指针

快指针线遍历到第k-1个数,然后慢指针在从头开始遍历,这样快慢指针有k-1个间隔,当快指针到链表末尾时,慢指针指的数就是倒数第k个数。

public class Solution {
    public ListNode FindKthToTail(ListNode head,int k) {
            if(head==null||k==0){
                return null;
            }
            ListNode pHead=head;
            for(int i=0;i<k-1;i++){
                if(pHead.next!=null){
                    pHead=pHead.next;
                }
                else{
                    return null;
                }
            }
            ListNode pSlow=head;
            while(pHead.next!=null){
                pHead=pHead.next;
                pSlow=pSlow.next;
            }
            return pSlow;
    }
}

剑指 offer 链表倒数的第k个数相关推荐

  1. 《剑指offer》NO40 最小的K个数 大顶堆实现 详解 <Java实现>

    public class Solution2_大顶堆 {//用PriorityQueue 来实现一个大顶堆. 当队内元素个数大于K个并且新入的元素小于 大顶堆的最大值,那么就出队列,新的进入.所有元素 ...

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

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

  3. 划水总结剑指offer 链表系列1

    最近在找实习,发现面试题和oj的题差距蛮大的,然后粗略的刷了一遍剑指offer.希望6月中旬前能拿个实习(捂脸哭) 1.首先总结关于链表的题. (1)从尾到头打印一个链表.像我这样的憨憨上来就想 这不 ...

  4. 剑指Offer——链表中倒数第K个节点

    1.题目描述 输入一个链表,输出该链表中倒数第k个结点. 2.代码实现 package com.baozi.offer;/*** @author BaoZi* @create 2019-07-11-1 ...

  5. 剑指offer 链表中倒数第k个节点

    题目描述 输入一个链表,输出该链表中倒数第k个结点. 解决方案: public class Solution {public ListNode FindKthToTail(ListNode head, ...

  6. python删除链表的倒数第k个节点,剑指offer 链表中的倒数第K个节点 Python and C++

    题目描述 输入一个链表,输出该链表中倒数第k个结点. 思路 假设链表中的节点数大于等于k个,那么一定会存在倒数第k个节点,首先使用一个快指针先往前走k步,然后两个指针每次走一步,两个指针之间始终有k的 ...

  7. Java解析剑指Offer链表篇(1)

    目录 一.移除链表元素 1.题目要求 2.基本思路 3.代码演示 二.反转链表 1.题目要求 2.基本思路 3.代码实现 三.链表的中间结点 1.题目要求 2.基本思路 3.代码实现 四.链表中倒数第 ...

  8. 剑指Offer——链表中环的入口结点

    题目描述: 一个链表中包含环,请找出该链表的环的入口结点. 分析: 设置两个指针p1,p2, 两个指针都从链表的头部开始走,不过p1每次走一步,p2每次走两步. 直到相遇的时候,p2走的长度是p1的两 ...

  9. 剑指offer 二进制中1的个数

    题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 解决方案: public class Solution {public int NumberOf1(int n) {int ...

最新文章

  1. 【深入浅出MyBatis系列八】SQL自动生成插件
  2. bzoj [Scoi2016]美味
  3. Mysql分组合并函数并进行数据列处理
  4. [译]怎样用HTML5 Canvas制作一个简单的游戏
  5. 只用redis不用mysql的项目_干货!带你了解为什么那么多开源项目都是用Redis!
  6. 用户登录和注册的功能
  7. python爬虫数据可视化软件_python爬虫及数据可视化分析
  8. sql server web管理软件
  9. python unicodeencodeerror_Python发起请求提示UnicodeEncodeError错误代码解决方法
  10. php降序怎写,php 数组排序(升序、降序及相关问题)
  11. 三维散点图加colorbar
  12. python生成Androd deviceid
  13. leetcode954.二倍数对数组C++(绝对值排序)
  14. CSS3实现渐变背景动画特效
  15. 华为云从入门到实战 | 云容器服务
  16. 佳能eosr控制环能否计算机控制,镜头不够EF口来凑 佳能EOS R转接性能测试
  17. JavaScript进阶(三)
  18. 2017-2018-1 20155227 20155318 实验一 开发环境的熟悉
  19. js 让鼠标右下角有一排小字_JavaScript浮动广告代码,容纯DIV/CSS对联漂浮广告代码,兼容性非常好的js右下角与漂浮广告代码...
  20. 安卓设备互相投屏_安卓投屏免费版下载-批量投屏软件 v7.9.7 免费版 - 下载吧

热门文章

  1. BZOJ-3110-K大数查询-ZJOI2013-暴力
  2. uvalive5986(贪心)
  3. 【学习笔记】一些常用的数学公式
  4. jdbc oracle添加数据库连接,JDBC与Oracle数据库连接最常用方法
  5. oracle 并行提交,如何配置Oracle并行处理(上)
  6. python replace_DF.replace介绍
  7. 无障碍开发(八)之盲人如何使用互联网的8个误区
  8. Python与Golang协程异同
  9. 【i.MX6UL/i.MX6ULL开发常见问题】单独编译内核,uboot生成很多文件,具体用哪一个?...
  10. 用Python3Request爬取英雄联盟皮肤、单线程爬取