Leetcode 面试题 02.02.返回倒数第 k 个节点

Leetcode 面试题 02.02.返回倒数第 k 个节点

1 题目描述(Leetcode题目链接

  实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。

输入: 1->2->3->4->5 和 k = 2
输出: 4

说明:

给定的 k 保证是有效的。

2 题解

  双指针,第一个先走k步,然后两个一起走,返回后面的指针指向的值。

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def kthToLast(self, head: ListNode, k: int) -> int:
        p, q = head, head
        while k > 0:
            p = p.next
            k -= 1
        while p:
            p, q = p.next, q.next
        return q.val
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章