python实现单链表中删除倒数第K个节点的方法
本文实例为大家分享了python实现单链表中删除倒数第K个节点的具体代码,供大家参考,具体内容如下
题目:
给定一个链表,删除其中倒数第k个节点。
代码:
classLinkedListAlgorithms(object): def__init__(self): pass defrm_last_kth_node(self,k,linked_list):#删除倒数第K个节点,针对单链表的 iflinked_list.is_empty(): print'Thegivenlinked_listisempty.' ifk<1ork>linked_list.get_length(): print'Wrongkthnumberoutofindex.' k=linked_list.get_length()-k ifk==0: p=linked_list.head linked_list.head=p.next else: p=linked_list.head foriinxrange(k-1): p=p.next p.next=p.next.next
分析:
在这个函数中,我又一次写了从单链表中删除一个节点的代码,事实上不需要,因为我在实现单链表类的时候已经写过了删除一个结点的方法了。Python版本单链表实现代码时间复杂度就是一遍循环链表,空间复杂度用到了一个指针。
如果是双链表的话,复杂度并没降低,毕竟仍然要一遍循环。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。