我们在笔试中经常会碰到这种题,给你一个字符串“hello world” 如何把它反转倒过来,使之变成 “dlrow olleh”。
这里有点老生常谈的意思,但还是有不少同学,特别是新手,会转不过弯来,所以我这里再重新提一下吧。
首先介绍一个类库本身提供给我们的一个反转方法,利用 StringBuffer 类
public static String reverse(String s) {
return new StringBuffer(s).reverse().toString();
}
其次的一个思路是把字符串解析成字符数组,重新编排
public static String reverse2(String s) {
char[] array = s.toCharArray();
String reverse = "";
for (int i = array.length - 1; i >= 0; i--) {
reverse += array[i];
}
return reverse;
}
最后可以用递归的方式
public static String reverse3(String s) {
if (s == null || s.length() == 1) {
return s;
}
return reverse3(s.substring(1)) + s.charAt(0);
} 先介绍这三个办法了,有其它思路的同学,可以一起探讨。