📅  最后修改于: 2023-12-03 15:12:22.419000             🧑  作者: Mango
在字符串中计算具有相同的首尾字符的子字符串数量是一个常见的问题。这种问题可以使用递归算法解决。
def countSubstring(s: str) -> int:
if len(s) == 0:
return 0
elif len(s) == 1:
return 1
elif s[0] == s[-1]:
return countSubstring(s[1:-1]) + 1
else:
return countSubstring(s[1:-1])
print(countSubstring('a')) # 1
print(countSubstring('ab')) # 0
print(countSubstring('aa')) # 3
print(countSubstring('aba')) # 1
这段递归代码采用了Python语言,后面紧跟着一个主函数。主函数用于对算法进行测试。函数countSubstring(s: str) -> int
的输入是一个字符串s
,输出是整数,表示具有相同首尾字符的子字符串数量。函数内部进行如下的递归运算:
if s[0] == s[-1]:
),则计算除第一个和最后一个字符以外的子字符串,加1,并返回结果。