一般的算法题解析都是用C/C++,但是对于一个iOS开发者,使用OC和Swift居多的情况下,对于代码的转换还是有很多的不同,今天试验了一下一个字符串旋转的算法题,在Swift的Playground下实现的一些不同。
字符串旋转:给定一个字符串,要求将字符串前面的若干个字符移到字符串的尾部
方法一:直接使用Swift语言中String的方法

方法二:Swift中使用C的字符数组

CChar字符数组会包含字符串结束标识符 "\n" 即是代码中值为0的字符,所以我们在旋转时要避免将它也计入长度。
Swift中函数的参数默认为常量,不可改变,所以需要在内部重新创建变量引用
方法三:使用Swift的字符量Character数组

Swift中字符串用Unicode字符组成,一个Character可能包含一个或多个字节,与C的字符可能个数是不同的。所以对于Swift而言,应该使用Character类型。
网友评论