美文网首页
6、假设有一个字符串aabcad,请写一段程序,去掉字符串中不相

6、假设有一个字符串aabcad,请写一段程序,去掉字符串中不相

作者: 丶逐渐 | 来源:发表于2016-02-25 00:04 被阅读1198次

    本题的题意是以第一个出现的字母作为参照,只要之后出现相同的字母并且和第一个字母不相邻,那么就删除。为防止删除某些字符之后,把之前不相邻的重复字符串转化为相邻字符串,所以可以先用空格替换掉需要删除的字符,最后对数组里面的空格进行处理。

    -(void)removeRepeat:(NSString *)aNum

    {

    NSMutableArray *mArr = [[NSMutableArray alloc]initWithCapacity:10];

    for (int i = 0;i < aNum.length;i++)

    {

    [mArr addObject:[aNum substringWithRange:NSMakeRange(i,1)]];

    }

    NSLog(@"- %@", mArr);

    [self compareNum:mArr];

    NSLog(@"%@",mArr);

    }

    //比较是否相等

    -(NSMutableArray *)compareNum:(NSMutableArray *)mArr

    {

    int count = mArr.count;//重新定义了,count不会减一

    for (int j = 0; j < count - 1; j++)

    {

    for (int i = j; i < count - 1-1-1; i++)

    {

    NSLog(@" %@  %@",[mArr objectAtIndex:j],[mArr objectAtIndex:i + 2]);

    NSString *a = [mArr objectAtIndex:j];

    NSString *b = [mArr objectAtIndex:i+2];

    if ([a isEqualToString:b])

    {

    [mArr replaceObjectAtIndex:i + 2 withObject:@" "];

    }

    }

    }

    return mArr;

    }

    相关文章

      网友评论

          本文标题:6、假设有一个字符串aabcad,请写一段程序,去掉字符串中不相

          本文链接:https://www.haomeiwen.com/subject/oeabkttx.html