描述
输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针。
链表结点定义如下:
struct ListNode
{
int m_nKey;
ListNode* m_pNext;
};
正常返回倒数第k个结点指针,异常返回空指针.
要求:
(1)正序构建链表;
(2)构建后要忘记链表长度。
数据范围:链表长度满足 ,链表中数据满足
本题有多组样例输入。
输入描述:
输入说明
1 输入链表结点个数
2 输入链表的值
3 输入k的值
输出描述:
输出一个整数
思路:
step1:输入链表结点个数;
step2:输入链表的值,将他们间隔开,同时转换为int型,使用list(map())函数;
step3:输入k值;
step4:如果k为0,则直接输出0;否则,输出从右向左数对应的值
代码如下:
while True:
try:
n = int(input())
s = list(map(int,input().split()))
m = int(input())
if m == 0:
print(0)
else:
print(s[-m])
except:
break