- 思路
- 代码
- 结果
- 总结
- 启发
循环中:上轮中字符和本轮中字符相同则数量加一,不同则输出上一轮的字符和对应数量。
结尾和空比较,必然不同且索引越界,单独列出。
每轮循化都确定上一轮中相同的字符和对应数量。
代码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);结果 总结
每次写代码前,分割成小步骤。
注意逻辑清晰。
注意特殊情况处理。
换不同角度(思路,方法,技术)想有没有其他实现方法
启发一定要掌握化繁为简的能力,这正是代码的优美之处。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)