public static Character mostFrequentLetter(String string) {
// TODO: 实现这个方法
Character character = null;
char[] c = string.toCharArray();
if(c.length>0){
Map<Character, Integer> map = new HashMap<Character,Integer>();
for(int i = 0;i<c.length;i++){
if(map.get(c[i]) == null){
map.put(c[i], 1);
}else{
map.put(c[i], map.get(c[i])+1);
}
}
int tempCount = 0;
Iterator<Character> iterator = map.keySet().iterator();
while(iterator.hasNext()){
Character ch = iterator.next();
int chCount = map.get(ch);
if(chCount>tempCount){
tempCount = chCount;
character = ch;
}else if (chCount == tempCount) {
if(ch < character) {
tempCount = chCount;
character = ch;
}
}
}
}
return character;
}
算法题:返回字符串中出现次数最多的字符,如果次数相同,则放回ASCII码最小的那个字符
最新推荐文章于 2024-02-19 08:36:32 发布