程序源代碼:
public class Demo4 {
public static void main(String[] args) {
String string = f("abcde");
System.out.println(string);
}
//遞歸求解
private static String f(String string) {
if(string.length() <= 1) return string;
//通過subString()方法來進行字符串截取。
![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20200309204918199.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NzUyODAw,size_16,color_FFFFFF,t_70) return f(string.substring(1))+string.charAt(0);
}
}
思路求解:
1.先對abcde從位置爲1的字符進行字符串截取出新的字符串bcde + a
2.再對bcde從位置爲1的字符進行字符串截取出新的字符串cde + b
3.然後對cde從位置爲1的字符進行字符串截取出新的字符串de + c
4.最後對de從位置爲1的字符進行字符串截取出新的字符串e + d
5.e字符串長度爲一 則直接返回此字符串 再開始加上步驟四 三 二 一 剩下的字符 d c b a 就成爲字符串 e d c b a 完成字符串反轉
自己畫了一個圖可以進行理解 :