链表中倒数第k个节点
2020-02-21 本文已影响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 有想法就去做