小栖最近很喜欢回文串,由于小栖的幸运数字是5,他想知道形似“abcba”的回文串在他给定的字符串中的数量
s.length <= 10^6
字符串s只包含小写字母
示例1 :
输入:s = "abcba"
输出:1
示例2:
输入:s = "abcbabcccb"
输出:2
解释:形似”abcba“的字符串有”abcba“和”cbabc“
来源:九章算法
打卡水题, 很简单的字符串操作题. 根据题意可知5位数的字符串,以中间位分割,两侧对称位置相同,且单侧与中间位置的值均不同。从第二个位置(即第一个可能为回文字符串)开始遍历即可,秒过。
题解:
class Solution:
"""
@param s: The given string
@return: return the number of Five-character palindrome
"""
def Fivecharacterpalindrome(self, s):
# write your code here
result = 0
s_len = len(s)
for x in range(2, s_len-2):
if s[x+1] == s[x-1] and s[x+2] == s[x-2] and s[x] != s[x+1] and s[x] != s[x+2] and s[x+1] != s[x+2]:
result = result+1
return result