[LeetCode]647. Palindromic Substrings
647. Palindromic Substrings
class Solution(object):
def countSubstrings(self, s):
"""
:type s: str
:rtype: int
"""
if not s:
return 0
res = 1
def ispalindromic(strs):
return strs == strs[::-1]
for i in range(1, len(s)):
cur = 1
for j in range(i):
if ispalindromic(s[j:i+1]):
cur += 1
res += cur
return res
class Solution(object):
def countSubstrings(self, s):
"""
:type s: str
:rtype: int
"""
def helper(s1, s2):
if len(s1) > len(s2):
s1, s2 = s2, s1
for i in range(len(s1)):
if s1[i] != s2[i]:
return i
return len(s1)
ans = 0
for i in range(len(s)):
# 字符串是偶数
ans += helper(s[:i][::-1], s[i:])
# 字符串是奇数
ans += helper(s[:i][::-1], s[i + 1:])
# 自身
ans += 1
return ans
关注公众号:数据结构与算法那些事儿,每天一篇数据结构与算法