leetcode之字符串压缩
序【leetcode之字符串压缩】本文主要记录一下leetcode之字符串压缩
文章插图
题目字符串压缩 。 利用字符重复出现的次数 , 编写一种方法 , 实现基本的字符串压缩功能 。 比如 , 字符串aabcccccaaa会变为a2b1c5a3 。 若“压缩”后的字符串没有变短 , 则返回原先的字符串 。 你可以假设字符串中只包含大小写英文字母(a至z) 。 示例1: 输入:"aabcccccaaa" 输出:"a2b1c5a3"示例2: 输入:"abbccd" 输出:"abbccd" 解释:"abbccd"压缩后为"a1b2c2d1" , 比原字符串长度更长 。 提示:字符串长度在[0, 50000]范围内 。 来源:力扣(LeetCode)链接:著作权归领扣网络所有 。 商业转载请联系官方授权 , 非商业转载请注明出处 。
题解class Solution {public String compressString(String S) {if (S == null || S.length() == 0) {return S;}char pre = S.charAt(0);int count = 1;StringBuilder result = new StringBuilder();for (int i=1; i< S.length(); i++) {char cur = S.charAt(i);if (cur == pre) {count++;} else {result.append(pre).append(count);pre = cur;count = 1;}}result.append(pre).append(count);if (result.length() >= S.length()) {return S;}return result.toString();}}
小结这里维护前一个字符及其count的字段 , 之后从第二个字符开始遍历 , 判断与前一个字符是否相等 , 相等则累加 , 不相等则将该字符的压缩添加到结果中 , 最后再将最后一个字符的压缩添加到结果中 。
doc
- 字符串压缩
- 纠结|硬杠红米Note9Pro?iQOO Z1跌至1575,对比之后纠结了!
- 王兴称美团优选目前重点是建设核心能力;苏宁旗下云网万店融资60亿元;阿里小米拟增资居然之家|8点1氪 | 美团
- 长安|长安傍上华为这个大腿,市值暴涨500亿!可见华为影响力之大?
- 巅峰|realme巅峰之作:120Hz+陶瓷机身+5000mAh 做到了颜值与性能并存
- 蛋壳公寓|官媒发声:绝不能让“割韭菜者”一跑了之!
- 看过明年的iPhone之后,现在下手的都哭了
- 直播销售员|石家庄桥西区插上“互联网+”智慧发展之翼
- 精英|业务流程图怎么绘制?销售精英的经验之谈
- 砍单|iPhone12之后,拼多多又将iPhone12Pro拉下水
- 报名啦!宿迁开展第五届“十大科技之星”评选