本文实例为大家分享了python实现单链表中删除倒数第K个节点的具体代码,供大家参考,具体内容如下

题目:

给定一个链表,删除其中倒数第k个节点。

代码:

class LinkedListAlgorithms(object):

def __init__(self):

pass

def rm_last_kth_node(self, k, linked_list): # 删除倒数第 K 个节点,针对单链表的

if linked_list.is_empty():

print 'The given linked_list is empty.'

if k < 1 or k > linked_list.get_length():

print 'Wrong kth number out of index.'

k = linked_list.get_length() - k

if k == 0:

p = linked_list.head

linked_list.head = p.next

else:

p = linked_list.head

for i in xrange(k-1):

p = p.next

p.next = p.next.next

分析:

在这个函数中,我又一次写了从单链表中删除一个节点的代码,事实上不需要,因为我在实现单链表类的时候已经写过了删除一个结点的方法了。Python版本单链表实现代码时间复杂度就是一遍循环链表,空间复杂度用到了一个指针。

如果是双链表的话,复杂度并没降低,毕竟仍然要一遍循环。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python链表中删除一个节点数据_python实现单链表中删除倒数第K个节点的方法相关推荐

  1. python爬虫 django搜索修改更新数据_python应用:Django中更新多个对象数据与删除对象的方法...

    Python是一种解释型脚本语言,可以应用于以下领域: web和Internet开发 科学计算和统计 人工智能 教育 桌面界面开发 软件开发 后端开发 网络爬虫 更新多个对象 例如说我们现在想要将Ap ...

  2. python读取excel日期和时间数据_python 在excel文件中写入date日期数据,以及读取excel日期数据,如何在python中正确显示date日期。...

    如何通过python写入date数据了? 写入还是很简单的. import xlwt3 import  datetime as dt workbook = xlwt.Workbook() worksh ...

  3. python代码找到链表的倒数第K个节点并打印

    python代码找到链表的倒数第K个节点并打印 在计算机科学中,链表是数据元素的线性集合,其顺序不是由它们在内存中的物理位置决定的.相反,每个元素指向下一个元素.它是一种数据结构,由一组节点组成,这些 ...

  4. 数据结构,单链表讲解,并使用Java代码实现单链表增删改查【尾部添加,中间插入、修改节点、删除节点、展示链表】

    文章目录 单链表 什么是单链表,链式存储结构详解 链表的节点 头节点,头指针和首元节点 单链表的实现 1.尾部添加新节点 思路分析 代码实现 注意事项 2.按照编号插入新节点 思路分析 代码实现 注意 ...

  5. 剑指offer面试题15:链表中倒数第K个节点

    题目:输入一个链表,输出该链表的倒数第K个节点.为了符合大多数人的习惯,本题从1开始计数,即链表尾节点是倒数第一个节点. 解题思路: 解法一:一般情况下,单向链表无法从后一个节点获取到它前面的节点,可 ...

  6. C语言实现了一个具有头结点的单链表(附完整源码)

    实现了一个具有头结点的单链表 有头结点的单链表 实现了一个具有头结点的单链表完整源码 有头结点的单链表 线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻,因此可以随机存取表中的任 ...

  7. 求单项链表的倒数第k个节点(c语言)

    求单项链表的倒数第k个节点(只遍历一次) 单向链表求倒数第k个节点我们可以先遍历一遍找出链表的长度,再设置一个指针走(n-k)步可以找到倒数第k个节点. 但是,这需要遍历两次,如果只允许遍历一次我们就 ...

  8. python 链表倒数第k个节点_链表-删除单链表中倒数第k个节点

    题目 实现一个函数,一个可以删除单链表中倒数第k个节点 难度 简单 分析 本题比较简单,实现方法多种多样,这里提供一种方法 首先明确一点,在单链表中删除倒数第k个节点,需要找到他的前一个节点,让前一个 ...

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

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

最新文章

  1. python深度神经网络量化_基于Python建立深度神经网络!你学会了嘛?
  2. [Design] Flyweight Pattern
  3. 03Template Method模式
  4. 番茄时间管理和四象限工作法完美搭配造就职场神器
  5. 2020年1月份学习总结,死线(Deadline)杀死团队拖延症
  6. webpack 引入jquery和第三方jquery插件
  7. Shuffle'm Up——简单模拟
  8. arm32和arm64常用指令B BL BLX机器码计算
  9. java appt,(转从ajava)打开ppt
  10. Win8系统如何关闭用户账户控制UAC
  11. 中国流动相配件行业市场供需与战略研究报告
  12. 在线正则表达式可视化测试工具
  13. SVN 使用beyondcompare 来版本对比
  14. 单片机流水灯显示方式
  15. unreal歌曲百度云下载_Unreal_Engine_4_1
  16. Android系统epub阅读器分享
  17. 一篇最通俗易懂的性能调优总结,这篇就够了
  18. 5G发展面临窘境,5G手机销量环比下滑,手机企业对5G热情降温
  19. KVM虚拟化技术的-NUMA技术和应用
  20. Cmd命令行实验4-ARP

热门文章

  1. python 包和模块的区别_3分钟带你搞懂Python模块、包的区别和使用
  2. mysql5.5.8编译安装_MySQL5.5.8源代码编译安装
  3. python加载模型文件进行图片分类_tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式...
  4. python集合操作 读取_python – Django – 如何使用QuerySet过滤来获取对象的子集?...
  5. 算法训练 K好数(dp+动态规划)
  6. PAT_B_1090_C++(25分)
  7. 软件工程--第三章--需求分析
  8. 【sklearn学习】数据预处理和特征工程
  9. LeetCode Hot100 ---- 二分查找专题
  10. 图像bayer格式介绍以及bayer插值原理CFA