原文:数据结构和算法之单向链表二:获取倒数第K个节点

我们在做算法的时候或多或少都会遇到这样的问题,那就是我们需要获取某一个数据集的倒数或者正数第几个数据。那么今天我们来看一下这个问题,怎么去获取倒数第K个节点。我们拿到这个问题的时候自然而然会想到我们让链表从末尾开始next K 次不就是第K 个节点了么,但是必须要注意一点,这是单向链表。那么这时候的解决思路或许就会出现分歧,大多数人都会想到我们遍历一下链表,获取链表的长度,然后再减去 K 长度的 ...

2017-12-06 20:28 0 977 推荐指数:

查看详情

链表倒数第k节点

题目 输入一个链表,输出该链表倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1、2、3、4、5、6。这个链表倒数第3个结点是值为4的结点。 解题思路 1.不可行的常规解法   为了得到倒数第k ...

Wed Dec 26 06:55:00 CST 2018 0 1011
数据结构/PTA-求链式线性表的倒数第K项/链表

求链式线性表的倒数第K项 给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。 输入格式: 输入首先给出一个正整数K,随后是若干非负整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。 输出格式: 输出倒数第K个位置上的数据。如果这个位 ...

Tue Sep 22 15:34:00 CST 2020 0 457
链表查找倒数第k节点

题目:输入一个单向链表,输出该链表倒数第k个结点。链表倒数第0个结点为链表的尾指针。 分析:为了得到倒数第k个结点,很自然的想法是先走到链表的尾端,再从尾端回溯k步。可是输入的是单向链表,只有从前往后的指针而没有从后往前的指针。因此我们需要打开我们的思路。既然不能从尾结点开始遍历这个链表 ...

Fri Mar 08 05:00:00 CST 2013 0 8707
求单链表倒数第K节点

求单链表倒数第K个值 题目: 找出单链表倒数第K个元素,比如给定单链表:1->2->3->4->5,则链表倒数第2个元素为4 构造一个简单的单链表 思路 1、顺序遍历两遍法 2、使用快慢指针 ...

Sun Aug 11 10:32:00 CST 2019 0 464
找到链表倒数第k节点 python

  题目:给定一个链表的头节点,输出链表倒数第k节点的值   分析:最简单的思路就按顺序访问链表节点,得到链表的长度x之后,再次从头节点出发,访问到第x-k+1个节点时,就是链表倒数第k节点,但是这样的方法对前x-k+1个节点重复访问了两遍,效率较低。在解答链表相关题目时,设置两个甚至三个 ...

Sun Apr 14 19:13:00 CST 2019 0 509
链表问题----删除倒数第K节点

在单链表和双链表中删除倒数第K节点      分别实现两个函数,一个可以删除单链表中的倒数第K节点,一个可以删除双链表中的倒数第k节点,要求时间复杂度是 O(N),空间复杂度是 O(1)。      【解析】   基本思路:   让链表从头开始走到尾,每移动一步,就让k值减 ...

Sun Jul 15 07:15:00 CST 2018 0 815
链表中的倒数第K节点

  求链表倒数第K节点:主要思路设置两个指针,刚开始都指向链表的第一个节点,第一个指针先走k-1步,然后两个一块走,直到第一个指针的下一位为nullptr,则第二个指针所指的位置就是倒数第k节点。   在编程书上看见这个方法,自己画了个链表试了试果然是这样,但是这是个什么原理 ...

Fri Apr 15 03:25:00 CST 2016 0 5162
链表倒数第K节点的查找和显示

最近在学回顾之前学到的知识,正好碰到了关于链表查找的一道面试题,在此贴出来,与小伙伴们共同交流~ 在刚看到题目,其实很容易就想到一个方法,就是先求链表的长度(length),然后去超找第length-k+1个节点的值,再进行查找,先贴代码如下。 这个算法需要对链表进行两次 ...

Mon May 01 08:53:00 CST 2017 0 5297
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM