A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

设计一个方法,传入一个字符串@abc,逆序输出,并返回@cba

3 个回复

倒序浏览
+ (NSString *)UpsideOrder:(NSString *)str   // 字符串反转(比如@”123”调用方法后返回@”321”)
{
   
    // 1.定义一个新的空字符串s
    NSMutableString *s = [NSMutableString string];
   
    // 2.从后向前遍历字符串
    for (NSUInteger i = str.length; i > 0; i--)
    {
        // 3.截取i-1位置一个长度的字符,并添加到字符串s后面
        [s appendString:[str substringWithRange:NSMakeRange(i-1, 1)]];
    }
   
    // 4.返回字符串s
    return s;
}
回复 使用道具 举报
可以利用字符串的遍历来解决
  NSStringEnumerationReverse :表示反向遍历
  NSStringEnumerationByComposedCharacterSequences : 表示按字符遍历

+(id)fanzhuan:(NSString *)str
{
      NSMutableString * outputString = [NSMutableString string];
    //  NSStringEnumerationReverse :表示反向遍历
    //  NSStringEnumerationByComposedCharacterSequences : 表示按字符遍历
    // NSMakeRange(0,string.length) 用来控制长度 从0开始到string.lengt 结束
    [string enumerateSubstringsInRange:NSMakeRange(0, string.length) options:NSStringEnumerationReverse | NSStringEnumerationByComposedCharacterSequences usingBlock:^(NSString *str1, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
            //将每一个字符 依次的添加到 outputString 可变字符串中
           [outputString appendString:str1];
   
        }];
   
    return outputString;
}
@end



           
      
回复 使用道具 举报 1 0
循环遍历就可以解决了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马