Python实现BF算法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43849107/article/details/102768287
def BF(s1,s2,pos = 0):
    i = pos
    j = 0
    while(i<len(s1) and j<len(s2)):
        if(s1[i]==s2[j]):
            i+=1
            j+=1
        else:
            i = i-j+2
            j=0

    if(j>=len(s2)):
        return i-len(s2)
    else:
        return 0

if __name__ == '__main__':
    s1=input("输入第一个字符串:")
    s2=input("输入第二个字符串:")
    print("两个字符串从第'%s'位开始匹配" % (BF(s1,s2)+1))

因为BF(s1,s2,pos=0)返回的是光标,所以在输出的时候要加一

猜你喜欢

转载自blog.csdn.net/weixin_43849107/article/details/102768287