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

2022-01-22  本文已影响0人  minningl

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

注意:本题相对原题稍作改动

示例:

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/kth-node-from-end-of-list-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

Python代码:

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

class Solution(object):
    def kthToLast(self, head, k):
        """
        :type head: ListNode
        :type k: int
        :rtype: int
        """
        left = 0
        right = 0

        dummp = ListNode(0)
        dummp.next = head
        pre = dummp

        for i in range(k):
            pre = pre.next

        while pre.next:
            pre = pre.next
            dummp = dummp.next

        return dummp.next.val
            

Python代码2:

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

class Solution(object):
    def kthToLast(self, head, k):
        """
        :type head: ListNode
        :type k: int
        :rtype: int
        """
        dummp = head
        for i in range(k):
            head = head.next
        
        while head:
            head = head.next
            dummp = dummp.next
        return dummp.val

            
上一篇 下一篇

猜你喜欢

热点阅读