Objective-C之字符串反转

方法一:

NSString *str = @"abcdefg";

NSMutableString *reverseString = [NSMutableString string];

for (int i = str.length - 1; i >= 0; i--) {

char c = [str characterAtIndex:i];

[reverseString appendFormat:@"%c", c];

}

NSLog(@"%@", reverseString);

结果:gfedcba;

方法二:

NSString * str = @"abcdefg";

NSMutableString * reverseString = [NSMutableString string];

for(int i = 0 ; i < str.length; i ++ ) {

char c = [str characterAtIndex:str.length- i -1];

[reverseString appendFormat:@"%c",c];

}

str = reverseString;

NSLog(@"%@",str);

结果:gfedcba;

两种方法比较而言,第一种方法比较优质,因为第一种方法str.length只调用了1次,而第二种方法调用了7次。效率提高了。

时间: 2024-10-12 03:54:51

Objective-C之字符串反转的相关文章

字符串反转方法汇总

split()方法将一个字符串对象的每个字符拆出来,并且将每个字符串当成数组的每个元素 reverse()方法用来改变数组,将数组中的元素倒个序排列,第一个数组元素成为最后一个,最后一个变成第一个 join()方法将数组中的所有元素边接成一个字符串 来看个实例: 1 function reverseString(str) { 2 // 第一步,使用split()方法,返回一个新数组 3 // var splitString = "hello".split("");

字符串反转的进一步应用----单词反转

字符串反转:如给定一字符串 good bye boy. 反转之后: .yob eyb doog 实现思路: 分别从第一个字符和最后一个字符,同时向中间遍历,交换遇到的每一个字符.JAVA实现代码如下:字符数组str存储待反转的字符串. private static void inverse(char[] str, int start, int end){ int i = start; int j = end; while(i < j){ char tmp = str[i]; str[i] = s

leetcoder系列001:c++字符串反转

问题: 给定一个输入字符串,字符串字反向词.例如 s = "the sky is blue",返回 "blue is sky the". 我的答案: class Solution { public: void reverseWords(string &s) { if(s.size() <= 0) return; string pattern = " "; string::size_type pos; vector<string

使用SQL字符串反转函数REVERSE巧妙实现lastindexof功能

要实现一个简单的业务: 使用SQL脚本获取字符串'large/020700/61970b0101.jpg' 中的'61970b0101.jpg'部分. 先想到的是C#中的lastindexof,但是SQL中没有这个函数,只有charindex函数,只好使用现有资源想办法曲线解决了. 解决思路: 1.使用REVERSE函数将字符串反转 2.使用charindex找到第一个出现'/'的位置 3.使用left函数找到'/'之前的字符串 4.再次使用REVERSE函数将处理过的字符串反转 具体示例: D

Java实现字符串反转

对于使用Java字符串反转有以下几种实现: 利用StringBuilder类中的reverse函数: 使用递归,将String的首字符放到除首字符外的子串后,然后再递归调用子串: 使用字符数组做reverse: public class Reverse { public static String reverse1(String str) { if (str == null || str.length() <= 1) return str; return new StringBuilder(st

将字符串反转,但单词不倒置2。Right here waiting for you! -&gt; you! for waiting here Right

//将字符串反转,但单词不倒置.Right here waiting for you! -> you! for waiting here Right #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main() { char str[255]; char result[255]; int length; int i,j,k = 0; int wordLen = 0; gets

字符串反转,

-(IBAction)abc:(id)sender { NSString *a = @"abcdef"; NSMutableString *newA = [[NSMutableString alloc]init]; int length = a.length; for (int i = 0; i<length; i++) { char m = [a characterAtIndex:length - i - 1]; NSString *sM = [NSString stringW

(转)c++字符串反转

//通过不同的方法,实现对所输入字符串的反转,可以很好地复习巩固 C++ 基础知识 /*分析过程: 假设要使传递的字符串为常量const字符串,这样操作更加灵活,可直接传递字符串字面值进行反转,常见的解决方法就是,定义一个新的与传递过来字符串长度 相等的字符数组,然后进行字符串拷贝,把str字符按从左到右放置到字符数组中,然后采用循环来对字符数组中字符反转 */ #include <iostream> #include <string> /*第一种,采用以上思路解法,传递为cons

JS 对 字符串反转

突然看到比较好的文章,列举了挺多比较好的方法,再次我也举一反三,写出一段代码. var str = "123456"; function reverseStr(s){ return s&&reverseStr(s.slice(1)) + s[0]; } alert(reverseStr(str)); 原文章:JavaScript算法练习:字符串反转

Java基础知识强化46:StringBuffer类之字符串反转的案例

1. 案例演示: 1 package cn.itcast_07; 2 3 import java.util.Scanner; 4 5 /* 6 * 把字符串反转 7 */ 8 public class StringBufferTest3 { 9 public static void main(String[] args) { 10 // 键盘录入数据 11 Scanner sc = new Scanner(System.in); 12 System.out.println("请输入数据:&quo