- 思路
- 代码
- 结果
- 总结
- 启发
循环中:上轮中字符和本轮中字符相同则数量加一,不同则输出上一轮的字符和对应数量。
结尾和空比较,必然不同且索引越界,单独列出。
每轮循化都确定上一轮中相同的字符和对应数量。
代码 String str = "ACCddccA";
char[] chars = str.toCharArray();
String s="";
int num=1;
for (int i = 1; i <=chars.length; i++) {
if (i==chars.length){
s=s+num+chars[i-1];
break;
}
if (chars[i-1]==chars[i]){
num++;
}else {
s = s+num+chars[i-1];
num=1;
}
}
System.out.println(s);
结果
总结
每次写代码前,分割成小步骤。
注意逻辑清晰。
注意特殊情况处理。
换不同角度(思路,方法,技术)想有没有其他实现方法
启发一定要掌握化繁为简的能力,这正是代码的优美之处。



