package com.learn01;
public class Test09 {
public static void main(String[] args) {
/**
* 递归算法
*/
int digui=DiGui(100);
System.out.println(digui);
String s="abcd";
System.out.println(reverse(s));
}
public static int DiGui(int i) {
if(i<=1) {
return i;
}
return i+DiGui(i-1);
}
/**
*使用递归使 字符串倒叙排列
* @param s
* @return
*/
public static String reverse(String s) {
if(s.length()<=1 || s==null) {
return s;
}
System.out.println(s.substring(1)+" "+s.charAt(0));
return reverse(s.substring(1))+s.charAt(0);
// 1、 reverse(bcd)+a;
// 2、 reverse(cd)+b+a;
// 3、 reverse(d)+c+b+a;
// 4、 d+c+b+a;
}
}
输出结果:

本文深入探讨了递归算法的原理与应用,通过两个实例:求和与字符串反转,详细解析了递归函数的设计思路及其实现过程。文章不仅介绍了递归的基本概念,还展示了如何利用递归来解决实际问题,是理解与掌握递归算法不可多得的资源。
707

被折叠的 条评论
为什么被折叠?



