Python 中的回文子字符串


假设我们有一个字符串;我们必须计算这个字符串中有多少个回文子字符串。拥有不同起始索引或结束索引的子字符串被计算为不同的子字符串,即使它们包含相同的字符。因此,如果输入类似于“aaa”,那么输出将是 6,因为有六个回文子字符串,如“a”、“a”、“a”、“aa”、“aa”、“aaa”

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

  • count := 0
  • 对于从 0 到字符串长度的 i
    • 对于从 i + 1 到字符串长度 + 1 的 j
      • temp := 从索引 i 到 j 的子字符串
      • 如果 temp 为回文,则将计数增加 1
  • 返回计数器

示例(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

更新于:2020 年 4 月 29 日

5 千次以上浏览

启动您的职业生涯

完成课程取得认证

开始
广告