python链表中删除一个节点数据_python实现单链表中删除倒数第K个节点的方法
本文實(shí)例為大家分享了python實(shí)現(xiàn)單鏈表中刪除倒數(shù)第K個(gè)節(jié)點(diǎn)的具體代碼,供大家參考,具體內(nèi)容如下
題目:
給定一個(gè)鏈表,刪除其中倒數(shù)第k個(gè)節(jié)點(diǎn)。
代碼:
class LinkedListAlgorithms(object):
def __init__(self):
pass
def rm_last_kth_node(self, k, linked_list): # 刪除倒數(shù)第 K 個(gè)節(jié)點(diǎn),針對(duì)單鏈表的
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
分析:
在這個(gè)函數(shù)中,我又一次寫了從單鏈表中刪除一個(gè)節(jié)點(diǎn)的代碼,事實(shí)上不需要,因?yàn)槲以趯?shí)現(xiàn)單鏈表類的時(shí)候已經(jīng)寫過了刪除一個(gè)結(jié)點(diǎn)的方法了。Python版本單鏈表實(shí)現(xiàn)代碼時(shí)間復(fù)雜度就是一遍循環(huán)鏈表,空間復(fù)雜度用到了一個(gè)指針。
如果是雙鏈表的話,復(fù)雜度并沒降低,畢竟仍然要一遍循環(huán)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
總結(jié)
以上是生活随笔為你收集整理的python链表中删除一个节点数据_python实现单链表中删除倒数第K个节点的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DELL服务器iDRAC相关设置
- 下一篇: 《咬文嚼字》公布 2022 年“十大语文