题解 | #输出单向链表中倒数第k个结点#

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

https://www.nowcoder.com/practice/54404a78aec1435a81150f15f899417d

import sys

class Node(object):

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


while 1:
    line = sys.stdin.readline().strip()
    if line == '': break
    arr = list(map(int, sys.stdin.readline().strip().split(' ')))
    k = int(sys.stdin.readline().strip())

    # 正序构造链表
    head = Node()
    p = q = head
    for a in arr:
        p = Node(a)
        q.next = p
        q = p
    
    # p q 指向头结点
    p = q = head.next
    # q 向后移动k个结点
    for i in range(k):
        q = q.next
    # p q 同时向后移动,直到q到链表尾,此时p指向倒数第k个结点
    while q:
        p = p.next
        q = q.next
    
    print(p.val)

全部评论

相关推荐

04-29 15:00
东华大学 财务
点赞 评论 收藏
分享
野猪不是猪🐗:现在的环境就是这样,供远大于求。 以前卡学历,现在最高学历不够卡了,还要卡第一学历。 还是不够筛,于是还要求得有实习、不能有gap等等... 可能这个岗位总共就一个hc,筛到最后还是有十几个人满足这些要求。他们都非常优秀,各方面都很棒。 那没办法了,看那个顺眼选哪个呗。 很残酷,也很现实
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务