问题:
这是我今天面试时遇到的一道题。要求不使用循环反转字符串,当时被卡住了,一直没有想到要用递归,后面面试官提示用递归,才想到,哎。
分析:
递归的思路是:构建一个方法,该方法把返回从0到 i 的反转字符串,如果i = 0, 返回当前字符。
-
public class Reverse {
-
public static void main(String[] args) {
-
String str = "abcd";
-
String str2 = reverse(str, str.length() - 1);
-
System.out.println(str2);
-
}
-
-
public static String reverse(String str, int index) {
-
if (index == 0)
-
return str.substring( 0, 1);
-
return str.substring(index, index + 1) + "" + reverse(str, index - 1);
-
}
-
}