算法基礎3:反轉串(遞歸實現)

程序源代碼:

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 完成字符串反轉

自己畫了一個圖可以進行理解 :

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章