资讯专栏INFORMATION COLUMN

【刷算法】链表中倒数第k个结点

lieeps / 556人阅读

摘要:题目描述输入一个链表,输出该链表中倒数第个结点。分析本题主要注意以下几点是否合法,比如大于链表长度了就不合法也不合法倒数的第个,对于长度为的链表来说,就是正数第个,所以得先遍历一次链表求出长度代码实现

题目描述

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

分析

本题主要注意以下几点:

k是否合法,比如k大于链表长度了就不合法、k<=0也不合法

倒数的第k个,对于长度为len的链表来说,就是正数第len-k+1个,所以得先遍历一次链表求出长度

代码实现
/*function ListNode(x){
    this.val = x;
    this.next = null;
}*/
function FindKthToTail(h, k)
{
    if(h === null || k <= 0)
        return null;
    var len = 0;
    var cur = h;
    while(cur !== null) {
        len++;
        cur = cur.next;
    }
    if(k > len){
        return null;
    }
    var index = len - k + 1;
    cur = h;
    while(index !== 1){
        cur = cur.next;
        index--;
    }
    
    return cur;
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/95862.html

相关文章

  • Leetcode:完31道链表题的一点总结

    摘要:既然说到地址空间了就顺带说一下上面环形链表这道题的另一种很的解法吧。介绍完常规操作链表的一些基本知识点后,现在回到快慢指针。   前几天第一次在 Segmentfault 发文—JavaScript:十大排序的算法思路和代码实现,发现大家似乎挺喜欢算法的,所以今天再分享一篇前两个星期写的 Leetcode 刷题总结,希望对大家能有所帮助。   本文首发于我的blog 前言   今天终于...

    DevTalking 评论0 收藏0
  • Java实现单向链表基本功能

    摘要:一前言最近在回顾数据结构与算法,有部分的算法题用到了栈的思想,说起栈又不得不说链表了。 一、前言 最近在回顾数据结构与算法,有部分的算法题用到了栈的思想,说起栈又不得不说链表了。数组和链表都是线性存储结构的基础,栈和队列都是线性存储结构的应用~ 本文主要讲解单链表的基础知识点,做一个简单的入门~如果有错的地方请指正 二、回顾与知新 说起链表,我们先提一下数组吧,跟数组比较一下就很理解链...

    idisfkj 评论0 收藏0

发表评论

0条评论

lieeps

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<