假设我们有一个字符串;我们必须计算该字符串中存在多少回文子字符串。具有不同开始索引或结束索引的子字符串即使它们由相同字符组成,也计为不同子字符串。因此,如果输入像“ aaa”,那么输出将是6,因为有六个回文子字符串,例如“ a”,“ a”,“ a”,“ aa”,“ aa”,“ aaa”
为了解决这个问题,我们将遵循以下步骤-
计数:= 0
对于i,范围为0到长度(如果为字符串)
temp:=从索引i到j的子字符串
如果温度是回文,则将计数增加1
对于范围i + 1到字符串长度+ 1的j
返回柜台
让我们看下面的实现以更好地理解-
class Solution: def countSubstrings(self, s): counter = 0 for i in range(len(s)): for j in range(i+1,len(s)+1): temp = s[i:j] if temp == temp[::-1]: counter+=1 return counter ob1 = Solution()print(ob1.countSubstrings("aaaa"))
"aaaa"
输出结果
10