python-数据结构-输出从倒数第k个结点到最后的所有结点
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-数据结构-输出从倒数第k个结点到最后的所有结点,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1614字,纯文字阅读大概需要3分钟。
内容图文
题目描述: 输入一个链表,输出该链表中倒数第k个结点
实现代码
class Node(object):
def __init__(self,val):
# 存放结点的数据域
self.val = val
# 前驱指针
self.prev = None
# 后继指针
self.next = None
class DoubleLinkedList(object):
def __init__(self):
self.head = None
self.tail = None
# 判断双链表是否为空
def empty(self):
return self.head is None
# 计算链表的长度
def length(self):
# size用来计算链表长度
size = 0
# 声明cur指针,用来遍历链表
cur = self.head
# 当cur指针没有指向空
while cur != None:
# 链表长度加1
size += 1
# cur指针指向当前节点的后继节点
# print(str(size)+" "+str(cur.val))
cur = cur.next
return size
# 遍历输出链表中的值
def traversal(self):
cur = self.head
while cur != None:
print(cur.val,end=" ")
cur = cur.next
print()
# 尾插法
def append(self,val):
newNode = Node(val)
if self.empty():
self.head = newNode
self.tail = newNode
else:
self.tail.next = newNode
newNode.prev = self.tail
self.tail = newNode
# 输出从倒数第k个结点到最后的所有结点
def getKthFromEnd(self,k):
# 声明cur指针,用来遍历链表
cur = self.head
#获取链表总长度
kdx = self.length()
#逆向思维寻找倒数第k个结点
dst = kdx-k
#cur找到k位置与头的结点
for i in range(dst):
for i in range(1):
self.prev = None
cur = cur.next
#设为空
cur.prev = None
#重新定义head(头结点)
self.head = cur
#遍历输出链表中的值
self.traversal()
if __name__ == "__main__":
li = DoubleLinkedList()
li.append('a')
li.append('b')
li.append('c')
li.append('d')
li.append('e')
print("原链表:",end="")
li.traversal()
print("输出后3个结点:",end="")
li.getKthFromEnd(3)
print("输出后2个结点:",end="")
li.getKthFromEnd(2)
总结
以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
内容总结
以上是互联网集市为您收集整理的python-数据结构-输出从倒数第k个结点到最后的所有结点全部内容,希望文章能够帮你解决python-数据结构-输出从倒数第k个结点到最后的所有结点所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。