python实现单链表中删除倒数第K个节点的方法


Posted in Python onSeptember 28, 2018

本文实例为大家分享了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 相关文章推荐
详细介绍Ruby中的正则表达式
Apr 10 Python
Python随机数用法实例详解【基于random模块】
Apr 18 Python
对Python中for复合语句的使用示例讲解
Nov 01 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
Feb 20 Python
django模板结构优化的方法
Feb 28 Python
Python3 文章标题关键字提取的例子
Aug 26 Python
python+jinja2实现接口数据批量生成工具
Aug 28 Python
Python面向对象之私有属性和私有方法应用案例分析
Dec 31 Python
Python数组拼接np.concatenate实现过程
Apr 18 Python
Python selenium键盘鼠标事件实现过程详解
Jul 28 Python
Python爬虫简单运用爬取代理IP的实现
Dec 01 Python
用Python实现屏幕截图详解
Jan 22 Python
使用Python处理BAM的方法
Sep 28 #Python
python版本单链表实现代码
Sep 28 #Python
python实现反转部分单向链表
Sep 27 #Python
python八皇后问题的解决方法
Sep 27 #Python
python判断数字是否是超级素数幂
Sep 27 #Python
Flask实现跨域请求的处理方法
Sep 27 #Python
python环形单链表的约瑟夫问题详解
Sep 27 #Python
You might like
php下封装较好的数字分页方法
2010/11/23 PHP
PHP取整数函数常用的四种方法小结
2012/07/05 PHP
php简单复制文件的方法
2016/05/09 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
2011/12/26 Javascript
js获取网页高度(详细整理)
2012/12/28 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
探讨JavaScript语句的执行过程
2016/01/28 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
2016/11/07 Javascript
vue.js指令v-model实现方法
2016/12/05 Javascript
jQuery实现立体式数字滚动条增加效果
2016/12/21 Javascript
jQuery图片拖动组件Dropzone用法示例
2017/01/17 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
纯JS实现的读取excel文件内容功能示例【支持所有浏览器】
2018/06/23 Javascript
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
JavaScript模板引擎应用场景及实现原理详解
2018/12/14 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
2019/11/01 Javascript
详解 Python 读写XML文件的实例
2017/08/02 Python
Python 获取中文字拼音首个字母的方法
2018/11/28 Python
Python的Tkinter点击按钮触发事件的例子
2019/07/19 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
2020/01/06 Python
anaconda升级sklearn版本的实现方法
2021/02/22 Python
淘宝网店营销策划书
2014/01/11 职场文书
继承公证书样本
2014/04/04 职场文书
《长城和运河》教学反思
2014/04/14 职场文书
招商引资工作汇报材料
2014/10/28 职场文书
教师师德工作总结2015
2015/07/22 职场文书
教师旷工检讨书
2015/08/15 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL
教你用python控制安卓手机
2021/05/13 Python
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
2021/05/18 Vue.js
MySQL Server层四个日志的实现
2022/03/31 MySQL