要求将算法7~13设计为3. 4. 1节定义的带头结点

要求将算法7~13设计为3. 4. 1节定义的带头结点单链表LinkedList类的方法。

10.设计算法找出单链表中最后一个满足n%k=0的结点,n表示从首结点开始的结点个数(未知),k是给定的整型常数。

答案
class LNode:
    def __init__(self, data):
        self.data = data
        self.next = None

class LinkedList:
    def __init__(self):
        self.head = LNode(None)  #头结点

    def find_last_n_mod_k(self, k):
        """
        找最后一个满足 n%k ==0 的结点,n从首结点开始计数n=1
        返回结点对象;无满足条件结点返回None
        """
        p = self.head.next
        n = 1
        target = None
        while p is not None:
            if n % k == 0:
                target = p
            p = p.next
            n += 1
        return target

题目信息

题号:8234
题型:简答题
知识点:Python
难度:普通