我是靠谱客的博主 认真巨人,最近开发中收集的这篇文章主要介绍关于递归问题的一些小例子,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

什么是递归???

程序的递归实现了某种类型的螺旋状while循环。while循环在循环体每次执行时必须取得某种进展,逐步迫近循环终止条件。递归函数也是如此,它在每次递归调用后必须越来越接近某种限制条件。

当递归函数符合这个限制条件时,它便不在调用自身

经典的递归也就不多说了,像汉诺塔之类的,可以查查资料。

现在贴3个小例子,大家可以看看,用java实现的。很简洁。

1、编写一个方法用于验证指定的字符串是否为反转字符,返回true和false。请用递归算法实现。(反转字符串样式为"abcdedcba")。

2、一列数的规则如下: 1、12、123、1234、12345、123456......,求第n个数的递归算法(n<=9)。

3、将一整数逆序,如987654321变为123456789。

要求,当然是不能变成字符串处理,必须使用递归。
public class Test{
public static boolean f1(char[] str,int from ,int to){
if(from >= to) return true;
if(str[from++]!=str[to--]) return false;
return f1(str,from,to);
}
public static int f2(int n){
return (n<=1?1:f2(n-1)*10+n);
}
public static int f3(int m, int n){
return (m<10?m:f3(m/10,n-1)+(m%10)*(int)(Math.pow(10, n-1)));
}
public static void main(String[] args) {
String aa="abcddcba";
char[] bb=aa.toCharArray();
System.out.println(Test.f1(bb,0,bb.length-1));
System.out.println(Test.f2(9));
System.out.println(Test.f3(123456789,9));
}
}



最后

以上就是认真巨人为你收集整理的关于递归问题的一些小例子的全部内容,希望文章能够帮你解决关于递归问题的一些小例子所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部