链表中倒数第k个节点

作者: _阿南_ | 来源:发表于2020-02-21 15:53 被阅读0次

题目:

输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。
示例:
给定一个链表: 1->2->3->4->5, 和 k = 2.
返回链表 4->5.

题目的理解:

对于一个单向列表要获取某一位,还是比较麻烦的,能够想到的是给每一个节点标记一个索引,然后来获取那么就简单了。

python实现

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:
    def getKthFromEnd(self, head: ListNode, k: int) -> ListNode:
        point = dict()
        index = 1
        current = head

        while current is not None:
            index_str = str(index)
            point[index_str] = current

            current = current.next
            index += 1

        result = index - k
        result_str = str(result)

        return point[result_str]

提交

成功

// END 有想法就去做

相关文章

网友评论

    本文标题:链表中倒数第k个节点

    本文链接:https://www.haomeiwen.com/subject/jhwcqhtx.html