Python 中的回文子字符串

pythonserver side programmingprogramming更新于 2025/11/4 0:44:17

假设我们有一个字符串;我们必须计算出这个字符串中有多少个回文子字符串。具有不同起始索引或结束索引的子字符串即使由相同的字符组成,也被视为不同的子字符串。因此,如果输入为 “aaa”,则输出将为 6,因为有六个回文子字符串,如 “a”、“a”、“a”、“aa”、“aa”、“aaa”

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

  • count := 0
  • for i in range 0 to length if string
    • for j in range i + 1 to length of string + 1
      • temp := substring from index i to j
      • 如果 temp 是回文,则将 count 增加1
  • 返回 count

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

相关文章


有用资源