找出全部的长度至少为2的substring,然后判断是否满足条件。注意别用set装substring,set会按照其他逻辑排序,而不是substring出现的先后顺序。
class Solution:
def longestNiceSubstring(self, s: str) -> str:
substring = []
for i in range(len(s)):
for j in range(i):
substr = s[j:i+1]
if substr not in substring:
substring.append(substr)
count = float('-inf')
res = ''
for string in substring:
if self.check(string):
if len(string) > count:
count = len(string)
res = string
return res
def check(self, string):
sets = []
for s in string:
if s not in sets:
sets.append(s)
for s in sets:
if s.islower() and s.capitalize() not in sets:
return False
elif s.isupper() and s.lower() not in sets:
return False
return True