记录在leecode刷题中链表的比较好的解题思路,以及我自己根据这些思路写的代码,主要使用Python3实现,每个小标题是leecode的链接,欢迎大家交流!
链表中倒数第k个节点
一个很妙的思路是:
不需要知道链表长度,指针1先走k-1步,然后指针2和指针1同时前进,当指针1指向链表最后一个元素时,指针2即为所求。
Python的实现:
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def getKthFromEnd(self, head, k):
"""
:type head: ListNode
:type k: int
:rtype: ListNode
"""
formmer, latter = head, head
num = 1
while num < k:
latter = latter.next
num += 1
while latter.next is not None:
formmer = formmer.next
latter = latter.next
return formmer
文章持续更新~~欢迎关注!