1. 暴力解法
class Solution:def countSubstrings(self, s: str) -> int:res = 0for i in range(len(s)):for j in range(i+1,len(s)+1):seq = s[i:j]rev = seq[::-1]if seq == rev:res = res + 1return res
2. 动态规划
class Solution:def countSubstrings(self, s: str) -> int:N = len(s)dp = [[False] * N for _ in range(N)]count = 0for r in range(N):for l in range(r):dp[l][r] = (s[l] == s[r]) and (r-l <=2 or dp[l+1][r-1])if dp[l][r] == True:count += 1dp[r][r] = Truecount += 1return count