• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Objective-C:字符串的反转Reverse

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

OC中字符串的反转方式可以用两种方式来处理:

第一种:从头到尾取出字符串的每一个字符,然后将其从尾到头添加到可变的字符串中,最后输出即可。

第二种:将OC内部的字符串转换为C语言中的字符串,然后动态分配一个数组,然后将字符串内容拷贝到数组中,进行首尾交换操作。共进行数组长度/2次操作。

 

方式一:OC版本

 1 -(NSMutableString*)Reverse
 2 {
 3     NSUInteger length = [self length];
 4     NSMutableArray *array = [NSMutableArray arrayWithCapacity:length];
 5     
 6     for(long i=length-1; i>=0; i--)
 7     {
 8         unichar c = [self characterAtIndex:i];
 9         [array addObject:[NSString stringWithFormat:@"%c",c]];
10     }
11     
12     
13     NSMutableString *str = [NSMutableString stringWithCapacity:length];
14     for(int i=0; i<=length-1; i++)
15     {
16         [str appendString:array[i]];
17     }
18     return str;
19  }@end

 

方式二:C语言版本

 1 @implementation NSString (Reverse)
 2 -(NSMutableString*)Reverse
 3 {
 4     const char *str = [self UTF8String];
 5     NSUInteger length = [self length];
 6     char *pReverse = (char*)malloc(length+1);//动态分配空间
 7     strcpy(pReverse, str);
 8     for(int i=0; i<length/2; i++)
 9     {
10         char c = pReverse[i];
11         pReverse[i] = pReverse[length-i-1];
12         pReverse[length-i-1] = c;
13     }
14     NSMutableString *pstr = [NSMutableString stringWithUTF8String:pReverse];
15     free(pReverse);
16     return pstr;
17 }
18 @end

 

  主函数测试:

 1 //  main.m
 2 //  字符串的反转
 3 //
 4 //  Created by ma c on 15/8/18.
 5 //  Copyright (c) 2015年. All rights reserved.
 6 //
 7 
 8 #import <Foundation/Foundation.h>
 9 #import "NSString+Reverse.h"
10 int main(int argc, const char * argv[])
11 {
12     @autoreleasepool
13     {
14         NSMutableString *string = [NSMutableString stringWithFormat:@"XYQ-CHINA"];
15         NSString *str = [NSString stringWithString:[string Reverse]];
16         NSLog(@"%@",str);
17     }
18     return 0;
19 }

    测试结果如下:

2015-08-18 19:42:56.696 字符串的反转[2222:136571] ANIHC-QYX
Program ended with exit code: 0

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
objective-c实现用户验证,登陆XcodeiOS发布时间:2022-07-12
下一篇:
objective-c中判断字符串是否为空发布时间:2022-07-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap