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

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

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

# 构造链表,用真正链表的做法处理.
class ListNode:
    """
    构造链表
    """
    def __init__(self, val, next=None):
        self.val = val
        self.next = next


def reverse_list_node(head):
    """
    翻转链表
    """
    cur = head
    pre = None

    while cur:
        nxt = cur.next
        cur.next = pre
        pre = cur
        cur = nxt

    return pre


def get_k_node(head, k):
    """
    逆序输出链表
    """
    cur = reverse_list_node(head)
    for _ in range(k-1):
        cur = cur.next
    print(cur.val)


if __name__ == "__main__":
    while True:
        try:
            length = int(input())
            nums = list(map(int, input().split()))
            k = int(input())

            head = ListNode(nums[0])
            cur = head
            for num in nums[1:]:
                node = ListNode(num)
                cur.next = node
                cur = cur.next
            get_k_node(head, k)
        except:
            break



全部评论

相关推荐

嗨害嗨我来了:感谢我吧,上次我在食堂敲打了一个姓雷的,他说马上给大学生们准备hc
不卡学历的大厂有哪些?
点赞 评论 收藏
分享
仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务