题解 | #输出单向链表中倒数第k个结点#
输出单向链表中倒数第k个结点
https://www.nowcoder.com/practice/54404a78aec1435a81150f15f899417d
import sys
class Node():
def __init__(self,key=None,next=None):
self.Key = key
self.Next = next
class ListNode():
def __init__(self,node):
self.head = node
self.tail = node
self.find = node
def add_Node(self,node):
self.tail.Next = node
self.tail = node
def count_length(self) -> int:
i = 1
while self.find!=None:
self.find = self.find.Next
i += 1
return i
def find_dth(self,k) -> int:
i = 1
self.find = self.head
while i<k:
self.find = self.find.Next
i += 1
return self.find.Key
def build(values,n):
path = []
for value in values:
node = Node(value)
path.append(node)
list_node = ListNode(path[0])
for i in range(1,n):
list_node.add_Node(path[i])
return list_node
def print_reverse(k):
kk = list_node.count_length()-k # 把倒数变成正数第多少个。
return list_node.find_dth(kk)
if __name__=='__main__':
try:
while 1:
n = int(input())
values = list(map(int,input().split(' ')))
k = int(input())
list_node = build(values,n)
result = print_reverse(k)
print(result)
except:
a = None
# try:
# pass
# except:
# pass
查看1道真题和解析