题目:输入“aaaaabbbbccc”,输出“a5b4c3”
我所想到的是用map去实现,key存字符,value存出现的次数,代码如下:
public static void main(String[] args) {
String str = "aaaaabbbbccc";
Map<Character, Integer> map = new HashMap<>();
for(int i=0;i<str.length();i++){
if(map.containsKey(str.charAt(i))){
int key = map.get(str.charAt(i))+1;
map.put(str.charAt(i),key);
}else{
map.put(str.charAt(i),1);
}
}
StringBuilder sb = new StringBuilder();
for(Map.Entry<Character, Integer> entry : map.entrySet()){
Character key = entry.getKey();
Integer value = entry.getValue();
sb.append(key).append(value);
}
System.out.println("输出结果:"+sb.toString());
}