您的位置:首页 > 其它

递归的例子

2016-01-05 18:12 295 查看
public class Step {

public static String reserve(String s) {
if (s == null || s.length() <= 1) {
return s;
}
return reserve(s.substring(1)) + s.charAt(0);
}

static int sum = 0, leg = 0;

static int[] step = new int[10];

final static int s = 10;

public static void compute(final int total) {
if (total < 0) {
return;
}
if (total == 0) {
printSum();
sum++;
return;
}
for (int i = 1; i <= 2; i++) {
step[leg]=i;
leg++;
compute(total - i);
leg--;
}
}

static void printSum() {
System.out.print("走法:");
for (int i = 0; i < leg; i++)
System.out.print(step[i] + " ");
System.out.println();
}

public static void main(String[] args) {
// System.out.println(reserve("wangfei"));
compute(s);
System.out.println("共有" + sum + "种走法");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: