python链表中删除一个节点数据_python实现单链表中删除倒数第K个节点的方法
本文實例為大家分享了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个节点的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DELL服务器iDRAC相关设置
- 下一篇: python找到字符中空格所在的位置_P