/*
传入:@"a10b3Cd5e"
返回:@"aaaaaaaaaabbbCddddde"
提示:次数可能超过10
*/
/*
1,首先,把字符和源字符串中取出来,存在一个字符串中并且把它的位置上改为‘|’,这一步之后源字符串中剩下|和数字
2,其次,把源字符串根据|分开放在数组当中,这个时候数组中会有空格,也就是连续两个或多个字符处
3,然后,把数组中的空格用1代替,这时候数组中从第二位开始就和字符串相对应了,也就是说从数组的第二位开始数组元素的大小就是相对应的字符打印的次数
4,最后,两个循环,开始解压,
*/
-(NSString *)decompressString:(NSString *)str{
NSMutableString *muStr = [NSMutableString stringWithString:str];
NSMutableString *chStr = [[NSMutableString alloc]init];
for (int i = 0; i < muStr.length; i++) {
if ([muStr characterAtIndex:i] >= 'A' && [muStr characterAtIndex:i] <='z') {
//把数组中的字符提取出来
[chStr append
传入:@"a10b3Cd5e"
返回:@"aaaaaaaaaabbbCddddde"
提示:次数可能超过10
*/
/*
1,首先,把字符和源字符串中取出来,存在一个字符串中并且把它的位置上改为‘|’,这一步之后源字符串中剩下|和数字
2,其次,把源字符串根据|分开放在数组当中,这个时候数组中会有空格,也就是连续两个或多个字符处
3,然后,把数组中的空格用1代替,这时候数组中从第二位开始就和字符串相对应了,也就是说从数组的第二位开始数组元素的大小就是相对应的字符打印的次数
4,最后,两个循环,开始解压,
*/
-(NSString *)decompressString:(NSString *)str{
NSMutableString *muStr = [NSMutableString stringWithString:str];
NSMutableString *chStr = [[NSMutableString alloc]init];
for (int i = 0; i < muStr.length; i++) {
if ([muStr characterAtIndex:i] >= 'A' && [muStr characterAtIndex:i] <='z') {
//把数组中的字符提取出来
[chStr append

该博客介绍了如何解压带有数字指示重复次数的字符串。通过遍历原字符串,将字母保存并替换为'|',然后分割得到数字和字符的对应数组。接着将空字符串替换为1,并通过双层循环按数字解压对应字符,最后返回解压后的字符串。
最低0.47元/天 解锁文章
589

被折叠的 条评论
为什么被折叠?



