原题链接:简单的字符串
用HashMap,把字符串分割成字符,当作key值put进HashMap中,其value值加1
最后遍历即可
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int len = sc.nextInt();
for (int i = 0; i < len; i++) {
System.out.println(f(sc.next()));
}
}
public static String f(String str) {
String result = "";
HashMap<Character,Integer> hs = new HashMap<Character,Integer>();
hs.put(str.charAt(0),1);
int num = 0;
for (int i = 1; i < str.length(); i++) {
if (hs.containsKey(str.charAt(i))) {
num = hs.get(str.charAt(i)) + 1;
hs.put(str.charAt(i),num);
}else {
hs.put(str.charAt(i),1);
}
}
for(Object key : hs.keySet()) {
result += (hs.get(key) == 1 ? "" : hs.get(key)) + "" + key;
}
return result;
}
}
9.9 分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复