2309. Generate English Letter in Upper and Lower Case #
题目 #
- 给你一个由英文字母组成的字符串
s
,请你找出并返回s
中的 最好 英文字母。返回的字母必须为大写形式。如果不存在满足条件的字母,则返回一个空字符串。 - 最好 英文字母的大写和小写形式必须 都 在
s
中出现。 - 英文字母
b
比另一个英文字母a
更好 的前提是:英文字母表中,b
在a
之 后 出现。
思路 #
模拟 #
代码 #
模拟 #
class Solution {
public String greatestLetter(String s) {
String ans = "";
Set<Character> set = new HashSet<>();
for (int i = 0; i < s.length(); i++) set.add(s.charAt(i));
for (int i = s.length()-1; i>=0; i--) {
char ch = s.charAt(i);
if (set.contains(Character.toUpperCase(ch)) && set.contains(Character.toLowerCase(ch))) {
if (ans.equals("") || ans.charAt(0) < Character.toUpperCase(ch)) ans = String.valueOf(Character.toUpperCase(ch));
}
}
return ans;
}
}