Python 中的回文子字符串
假设我们有一个字符串;我们必须计算这个字符串中有多少个回文子字符串。拥有不同起始索引或结束索引的子字符串被计算为不同的子字符串,即使它们包含相同的字符。因此,如果输入类似于“aaa”,那么输出将是 6,因为有六个回文子字符串,如“a”、“a”、“a”、“aa”、“aa”、“aaa”
要解决这个问题,我们将遵循以下步骤 -
- count := 0
- 对于从 0 到字符串长度的 i
- 对于从 i + 1 到字符串长度 + 1 的 j
- temp := 从索引 i 到 j 的子字符串
- 如果 temp 为回文,则将计数增加 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
广告