新手求助 java 递归算法问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 10:28:39
请问一下怎样可以用递归来画空格呢?

比如说我这里有一组String temp="abcdefghi"
先用substring折中算出"abcd" "fghi"放到两个另外的string里后,如果我想打出下面那种效果应该怎么打?
(横线是表示空格的意思)

a
b
c
d
e
f
g
h
i

貌似书上很多写着用递归来做数学的方法,可是用递归来做string的却很少...
对不起打错问题了....
----a
---b
--c
-d
e
-f
--g
---h
----i

public static void p(String s, int pos){
int m = s.length() / 2;
for (int i = 0; i < Math.abs(m - pos); i ++){
System.out.print("_");
}
System.out.print(s.charAt(pos) + "\n");
if (pos + 1 < s.length()){
p(s, pos + 1);
}
}
public static void main(String[] args){
p("abcdefghi", 0);
}

//所有可以用循环来作的操作都可以改为递归方法的,简单的转换就是把循环判断条件改为递归调用就可以了

按你的输出结果来看用一个循环就ok了。。。
String temp = "abcdefghijkl";
for(int i = 0;i<temp.length();i++){
System.out.println(temp.charAt(0));
}

处理此问题建议用Stack