要求将算法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