单向链表倒数第 k 个结点(Python)

输出单向链表中倒数第k个结点

http://www.nowcoder.com/questionTerminal/54404a78aec1435a81150f15f899417d

解法一:

装作没看到,当数组解 :)

while True:
    try:
        l, s, k = int(input()), input().split(), int(input())
        print(s[l - k] if k else 0)
    except:
        break

解法二:

自己定义节点再连成链表咯 :)

class Node(object):

    def __init__(self, val=0):
        self.val = val
        self.next = None


while True:
    try:
        l, s, k, head = int(input()), list(map(int, input().split())), int(input()), Node()
        while k:
            head.next = Node(s.pop())
            head = head.next
            k -= 1
        print(head.val)
    except:
        break

提交结果

图片说明

全部评论
感谢分享,这个第一太好用了
1
送花
回复
分享
发布于 2021-10-19 17:39
当作没看见也太棒了
3
送花
回复
分享
发布于 2021-11-15 23:31
蔚来
校招火热招聘中
官网直投
说出来你可能不信,我用第二种做法写完了以后,只超过6%的人,我还说是因为我过了一个遍历int强转嘛,结果我复制你代码,一毛一样。感觉被针对了
1
送花
回复
分享
发布于 2021-11-04 23:50
解法二 没有完全构造链表,不符合要求
1
送花
回复
分享
发布于 2022-09-21 15:36 上海
方法一真是英雄所见略同
1
送花
回复
分享
发布于 2023-03-07 23:34 江西
解法1 yyds
点赞
送花
回复
分享
发布于 2022-07-06 00:11
有没有同学知道,正式考试的时候能用方法一嘛?还是说会被算错?
点赞
送花
回复
分享
发布于 04-07 09:37 美国

相关推荐

52 8 评论
分享
牛客网
牛客企业服务