def getnext(m:str)->list: if len(m)==1: return [-1] next=[0 for _ in range(len(m))] next[0]=-1 pos=2 #从第三位开始,因为第二位前缀和后缀都为0 cn=0 while pos0: #搜寻其他前缀 cn=next[cn] else: #到第1位了 next[pos]=0 pos+=1 return next def getindex(s:str,m:str)->int: if s is None or m is None or len(m)<1 or len(s)