小U和小R有两个字符串,分别是SS和TT,现在小U需要通过对SS进行若干次操作,使其变成TT的一个前缀。操作可以是修改SS的某一个字符,或者删除SS末尾的字符。现在你需要帮助小U计算出,最少需要多少次操作才能让SS变成TT的前缀。
答案def solution(S: str, T: str) -> int: # 初始化操作次数 operations = 0
# 遍历字符串 S 和 T
for i in range(min(len(S), len(T))):
if S[i] != T[i]:
operations += 1 # 记录一次修改操作
# 如果 S 比 T 的前缀长,记录需要删除的字符数
if len(S) > len(T):
operations += len(S) - len(T)
return operations
if name == 'main': print(solution("aba", "abb") == 1) print(solution("abcd", "efg") == 4) print(solution("xyz", "xy") == 1) print(solution("hello", "helloworld") == 0) print(solution("same", "same") == 0)