給你一個由英文字母組成的字符串 s ,請你找出並返回 s 中的最好英文字母。返回的字母必須為大寫形式。如果不存在滿足條件的字母,則返回一個空字符串。
最好英文字母的大寫和小寫形式必須都在 s 中出現。
英文字母 b 比另一個英文字母 a更好的前提是:英文字母表中,b 在 a 之後出現。
輸入:s = “lEeTcOdE”
輸出:“E”
解釋:
字母 ‘E’ 是唯一一個大寫和小寫形式都出現的字母。
輸入:s = “arRAzFif”
輸出:“R”
解釋:
字母 ‘R’ 是大寫和小寫形式都出現的最好英文字母。
注意 ‘A’ 和 ‘F’ 的大寫和小寫形式也都出現了,但是 ‘R’ 比 ‘F’ 和 ‘A’ 更好。
輸入:s = “AbCdEfGhIjK”
輸出:“”
解釋:
不存在大寫和小寫形式都出現的字母。
1 <= s.length <= 1000
s 由小寫和大寫英文字母組成
class Solution:
def greatestLetter(self, s: str) -> str:
hash1 = Counter(s)
ans = []
for i in range(97, 123):
if hash1[chr(i)] > 0 and hash1[chr(i - 32)] > 0:
ans.append(chr(i))
if len(ans) == 0:
return ""
return ans[len(ans) - 1].upper()