黑马程序员技术交流社区

标题: 如何在oc中逆序输出@abc并返回 [打印本页]

作者: Harvey_ios    时间: 2015-5-13 18:54
标题: 如何在oc中逆序输出@abc并返回
设计一个方法,传入一个字符串@abc,逆序输出,并返回@cba

作者: 50mmf1.0    时间: 2015-5-14 13:58
+ (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;
}

作者: Ak47_1    时间: 2015-5-14 19:08
可以利用字符串的遍历来解决
  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



           
      

作者: 猴子啊猴子    时间: 2015-5-16 11:25
循环遍历就可以解决了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2