串匹配问题
一、问题描述
给定两个字符串S,T在主串S中查找模式串T的过程称为模式匹配,
如果T是S的子串,则返回T在S中首次出现的位置,否则返回-1
二、代码实现
代码如下
# -*- coding: utf-8 -*-
"""
Created on Fri Nov 12 11:09:55 2021
@author: lenovo
问题描述:
给定两个字符串S,T在主串S中查找模式串T的过程称为模式匹配,
如果T是S的子串,则返回T在S中首次出现的位置,否则返回-1
"""
def bf(S,T):
if len(S) == 0 or len(T) == 0:
print("S或T不符合要求")
sign = -1
for i in range(len(S)-len(T)):
j = 0
k = i
while j != len(T) and S[k] == T[j]:
k+=1
j+=1
if j == len(T):
sign = k-j
return sign
S = "ebebcebcdacde"
T = "ebcd"
print(bf(S,T))
2.打印结果
下一篇
蛮力法之0-1背包问题