美文网首页
算法题之--《反转字符串》

算法题之--《反转字符串》

作者: 忧郁的小码仔 | 来源:发表于2019-09-15 15:58 被阅读0次

    要反转字符串,可以直接反序遍历,也可以同时从两侧遍历并交换字符。这里我们用快一点的方法,同时从两侧遍历,图解如下:


    字符串反转

    OC原汁原味的示例代码:

    @implementation NSString (Reverse)
    
    -(NSString *)reverse {
        
        NSMutableString *temp = [self mutableCopy];
        
        NSUInteger left = 0;
        NSUInteger right = temp.length - 1;
        
        while (left < right) {
            
            NSString *leftStr = [temp substringWithRange:NSMakeRange(left, 1)];
            NSString *rightStr = [temp substringWithRange:NSMakeRange(right, 1)];
            
            [temp replaceCharactersInRange:NSMakeRange(left, 1) withString:rightStr];
            [temp replaceCharactersInRange:NSMakeRange(right, 1) withString:leftStr];
            
            left ++;
            right --;
        }
        
        return [temp copy];
    }
    
    @end
    
    

    相关文章

      网友评论

          本文标题:算法题之--《反转字符串》

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