如何实现aaabbbsdd转换成3a3bs2d
我刚开始的思路是用正则表达式
先切割然后替换,可是写不出来。
希望大家能写出来参考一下、谢谢。或者给个伪代码。
如何实现aaabbbsdd转换成3a3bs2d
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- clxy大叔 2013-04-29 15:33关注
[code="java"]
public class StringZip {public static void main(String[] args) { StringBuilder sb = new StringBuilder(); Stack stack = new Stack(); for (char c : "aaabbbsdd".toCharArray()) { stack.push(c, sb); } stack.append(sb); System.out.println(sb); } static class Stack { private int count = 1; private Character chr; public void push(char c, StringBuilder sb) { // 初次。 if (chr == null) { chr = c; return; } // 相同则+1。 if (chr == c) { count++; return; } // 不同则输出。 append(sb); // 重置。 chr = c; count = 1; } public void append(StringBuilder sb) { if (count > 1) { sb.append(count); } sb.append(chr); } }
}
[/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥500 服务器搭建cisco AnyConnect vpn
- ¥15 用大厂网站防红自己网站
- ¥15 悬赏Python-playwright部署在centos7上
- ¥15 psoc creator软件有没有人能远程安装啊
- ¥15 快速扫描算法求解Eikonal方程咨询
- ¥20 我的是道格手机,重置后屏幕右上角出现红色字的未写入tee key 和未写入google key请问怎么去掉啊
- ¥15 校内二手商品转让网站
- ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?
- ¥100 求Web版SPC控制图程序包调式
- ¥20 指导如何跑通以下两个Github代码