Python中的回文子串

假设我们有一个字符串;我们必须计算该字符串中存在多少回文子字符串。具有不同开始索引或结束索引的子字符串即使它们由相同字符组成,也计为不同子字符串。因此,如果输入像“ aaa”,那么输出将是6,因为有六个回文子字符串,例如“ a”,“ a”,“ a”,“ aa”,“ aa”,“ aaa”

为了解决这个问题,我们将遵循以下步骤-

  • 计数:= 0

  • 对于i,范围为0到长度(如果为字符串)

    • temp:=从索引i到j的子字符串

    • 如果温度是回文,则将计数增加1

    • 对于范围i + 1到字符串长度+ 1的j

    • 返回柜台

    示例(Python)

    让我们看下面的实现以更好地理解-

    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