Leetcode--字符串压缩
字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。
示例1:
输入:"aabcccccaaa"
输出:"a2b1c5a3"
示例2:
输入:"abbccd"
输出:"abbccd"
解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。
思路:
有一个小坑,数量超过10的x与S比较的位置可能得多移动几位
提示:
字符串长度在[0, 50000]范围内。
代码:
class Solution {
public String compressString(String S) {
if(S.length()==0){
return S;
}
StringBuilder x = new StringBuilder();
x.append(S.charAt(0));
int i=1,j=0,count=1;
while(i<S.length())
{
if(x.charAt(j)!=S.charAt(i)){
x.append(count);
while(count!=0)//需要注意,不是每次添加数字都是j++,有的数量超过10,j就不止移动一位,可能好几位
{
count/=10;
j++;
}
count=1;
x.append(S.charAt(i));
j++;
}else{
count++;
}
i++;
}
x.append(count);
if(x.length()>=S.length())
{
return S;
}
return x.toString();
}
}
Leetcode--字符串压缩相关推荐
- leetcode 解压缩_leetcode之字符串压缩
序 本文主要记录一下leetcode之字符串压缩 题目 字符串压缩.利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能.比如,字符串aabcccccaaa会变为a2b1c5a3.若&quo ...
- Leetcode 面试题 01.06.字符串压缩(Compress String LCCI)
Leetcode 面试题 01.06.字符串压缩 1 题目描述(Leetcode题目链接) 字符串压缩.利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能.比如,字符串aabccccc ...
- LeetCode 面试题 01.06. 字符串压缩 (双指针)
面试题 01.06. 字符串压缩 题意: 压缩字符串,如:"aabbccc"压缩为"a2b2c3",如果压缩后的字符串长度大于等于原字符串,则返回原来的字符串. ...
- Leetcode:面试题 01.06. 字符串压缩
题目: 字符串压缩.利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能.比如,字符串aabcccccaaa会变为a2b1c5a3.若"压缩"后的字符串没有变短,则返回原 ...
- 程序员面试金典 - 面试题 01.06. 字符串压缩(字符串)
1. 题目 字符串压缩.利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能.比如,字符串aabcccccaaa会变为a2b1c5a3.若"压缩"后的字符串没有变短,则返 ...
- javaScript 字符串压缩
字符串压缩.利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能.比如,字符串aabcccccaaa会变为a2b1c5a3.若"压缩"后的字符串没有变短,则返回原先的字符 ...
- python【蓝桥杯vip练习题库】ADV-301 字符串压缩
试题 算法提高 字符串压缩 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 编写一个程序,输入一个字符串,然后采用如下的规则对该字符串当中的每一个字符进行压缩: (1) 如果该字符是 ...
- redis源码之字符串压缩
redis关于字符串压缩的几个文件分别是:lzf.h,lzfP.h,lzf_c.c,lzf_d.c,下面看一个测试用例. #include <iostream> #include < ...
- 七十二、Python | Leetcode字符串系列(下篇)
@Author:Runsen @Date:2020/7/3 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...
- 七十一、Python | Leetcode字符串系列(上篇)
@Author:Runsen @Date:2020/7/3 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...
最新文章
- mysql按逗号拼接起来_MySQL ----- 计算字段(Trim,Concat,as)(九)
- 最长递增子序列 最长连续递增序列
- 人工智能等新技术将加速物联网的普及
- hql懒加载后判断对象是否存在_hibernate延迟加载(懒加载)详解
- java中什么表示打印_在java中打印对象时会发生什么
- 【软件开发底层知识修炼】二十五 ABI之函数调用约定二之函数返回值为结构体时的约定
- oracle move 换用户,Oracle move方法释放delete后的表空间
- php 并发 100 压测,简单PHP把握站点并发数
- Django使用mysql连接池_Django db使用MySQL连接池
- ES6学习笔记(三):教你用js面向对象思维来实现 tab栏增删改查功能
- c++ string分割字符串split_Java字符串到数组的转换最后放大招
- 第七章 课后习题P206
- 在C#中IEnumerable与IEnumerator
- Git之路——配置SSH免密码登录
- Atitit v2 ajax 最佳实践规范 标准化流程attilax总结 r34
- 罗马盘,大力盘,大圣盘等网盘资源搜索免费下载资源教程
- 163邮箱注册申请入口,申请163的邮箱账号
- 服务器系统需要装显卡驱动吗,显卡驱动需要更新吗,详细教您显卡驱动需要更新吗...
- (Java实现) 美元汇率
- 渗透测试培训--(小迪篇)
热门文章
- LintCode 183. 木材加工(二分查找)
- LeetCode 629. K个逆序对数组(DP)
- python天气预报官网_python 实现对天气预报官网未来一周七天的天气情况抓取
- 开直播辣!生成对抗网络全脉络梳理!
- 论文小综 | Attention in Graph Neural Networks
- 论文浅尝 | 区分概念和实例的知识图谱嵌入方法
- freewheel现场宣讲笔试回忆篇
- tensorflow--embedding_lookup 和 embedding_lookup_sparse
- 人工智能技术在智能制造中的典型应用场景与标准体系研究
- Lintcode415-Valid Palindrome-Medium