zoukankan      html  css  js  c++  java
  • 剑指offer 链表中倒数第k个节点

    本内容为牛客网,剑指off题目:链表中倒数第k个节点

    # -*- coding: utf-8 -*-
    """
    Created on Tue Mar 12 21:21:40 2019
    
    @author: Administrator
    输入一个链表,输出该链表中倒数第k个结点。
    本解法没有考虑到k的值超过了链表的最大长度
    """
    class ListNode:
        def __init__(self,x):
            self.val = x
            self.next = None
    
    class Solution:
        def FindKthToTail(self,head,k):
            first,second = head,head    #定义两个地址分别存放间距为k的节点地址
            for i in range(k):  #先从头指到第k个节点位置
                second = second.next
            while second:   #两个节点依次运行,直到尾节点结束
                first = first.next
                second = second.next
            return first
    
    if __name__ == '__main__':
        n = ListNode(1)
        n2 = ListNode(2)
        n3 = ListNode(3)
        n4 = ListNode(4)
        n5 = ListNode(5)
        
        n4.next = n5
        n3.next = n4
        n2.next = n3
        n.next = n2
        solution = Solution()
        result = solution.FindKthToTail(n,3)
        while True:
            print(result.val)
            result = result.next
            if result == None:
                break
  • 相关阅读:
    厦门游记
    2021春节时光
    2021春节一帖
    阅读清单-2021
    LSTM
    三种梯度下降算法的区别(BGD, SGD, MBGD)
    数据降维:主成分分析法
    Windows10安装Oracle 11g
    C++智能指针
    C++开发岗基础面试题
  • 原文地址:https://www.cnblogs.com/missidiot/p/10523005.html
Copyright © 2011-2022 走看看