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();
}
}
实现字符串反转
最新推荐文章于 2024-04-11 13:54:32 发布