1820. 寻找字母
给定一个字符串str,返回字符串中字母顺序最大的而且同时在字符串中出现大写和小写的字母。
如果不存在这样的字母,返回‘~‘。
样例
例 1:
输入:"aAbBcD"
输出:'B'
解释:因为c和D没有大小写同时出现,A和B都有大小写,但是B比A大,所以返回B。
例2:
输入:"looGVSSPbR"
输出:'~'
注意事项
请返回大写字母
|str|<=1000
输入测试数据 (每行一个参数)如何理解测试数据?
public class Solution {
/**
* @param str: the str
* @return: the letter
*/
public char findLetter(String str) {
// Write your code here.
HashMap<Integer,Character> sparseArray=new HashMap<>(str.length());
for (int i = 0; i < str.length(); i++) {
char c=str.charAt(i);
// System.out.println(c-0);
sparseArray.put(c-0,c);
}
for (int i = 90; i>64; i--) {
if (sparseArray.get(i)!=null&&sparseArray.get(i+32)!=null){
return sparseArray.get(i);
}
}
return '~';
}
}