描述:
给你一个字符串 s
,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 'a','e','i','o','u' ,在子字符串中都恰好出现了偶数次。
提示:
Represent the counts (odd or even) of vowels with a bitmask.
Precompute the prefix xor for the bitmask of vowels and then get the longest valid substring.
= =果然想的太简单 下面是错误版本
class Solution(object):
def findTheLongestSubstring(self, s):
###查找字符串的所有子串###########
all = [s[i:i + x + 1] for x in range(len(s)) for i in range(len(s) - x)]
###########################
res_lis=[]#用来存放符合条件的字符串
len_lis=[]#用来存放符合条件的字符串的长度
for str in all:
if (str.count('e') % 2) == 0 and (str.count('a') % 2) == 0 and (str.count('i') % 2) == 0 and (str.count('o') % 2) == 0 and (str.count('u') % 2) == 0:
res_lis.append(str)
len_lis.append(len(str))
result = res_lis[len(res_lis)-1]
return len(result)
if __name__ == "__main__":
s = "bcbcbc"
result1 = Solution()
print(result1.findTheLongestSubstring(s))