我正在努力开始练习面试问题,我遇到了这个问题:
将String aaaabbbbddd转换为a4b4d3
您基本上希望将现有字符串转换为每个唯一字符出现的字符串以及字符出现的次数.
这是我的解决方案,但我认为它可以被提炼成更优雅的东西:
String s = "aaaabbbbddd";
String modified = "";
int len = s.length();
char[] c = s.toCharArray();
int count = 0;
for (int i = 0; i < len; i++) {
count = 1;
for (int j = i + 1; j < len; j++) {
if (c[i] == ' ') {
break;
}
if (c[i] == c[j]) {
count++;
c[j] = ' ';
}
}
if (c[i] != ' ') {
modified += c[i] + "" + count;
}
}
System.out.println(modified);
有没有人对解决方案有任何其他建议?