您的位置:首页 > 其它

实现字符串反转

2016-04-01 20:53 387 查看
package exercise;
/**
* 实现一个字符串中字符顺序的反转
* @author lsq
*
*/
public class StringInverseDemo {

public static void main(String[] args) {

String s = "abcdefg";

System.out.println(reverse1(s));
System.out.println(reverse2(s));
System.out.println(reverse3(s));

}

/*
* 方法一:把字符串转换成字符数组,然后遍历字符数组,注意这里从字符数组的角标从高向低遍历。
*/
public static String reverse1(String s){
String reverse = "";
char[] cs = s.toCharArray();
for (int i = cs.length - 1; i >= 0; i--) {
reverse = reverse + cs[i];
}
return reverse;
}

/*
* 方法二:采用二分方法,使用递归实现,copy别人的方法,思路真的太好了!
*/
public static String reverse2(String s){
int length = s.length();
if (length <= 1)
return s;
String left = s.substring(0, length/2);
String right = s.substring(length/2, length);
return reverse2(right) + reverse2(left);
}

/*
* 方法三:直接使用StringBuffer的reverse方法进行字符串的反转,开发中可以直接调用该方法。注意最后要toString。
*/
public static String reverse3(String s){
return new StringBuffer(s).reverse().toString();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: