我们把“cba”称为“abc”的反转串。
图示:
求一个串的反转串的方法很多。下面就是其中的一种方法,代码十分简洁(甚至有些神秘)。
public class Test_4{
public static void main(String[] args) {
String str = "abcde";
System.out.println(str);
String strAfter = reverseString(str);
System.out.println(strAfter);
}
//将字符串递归到最后一个字符,返回这个字符e,在递归的上一层,return的第一个参数接收到e,上一层的x是de,所以x.charAt(0)是d。
//组成字符串ed,在向上一层递归返回,上一层的x是cde,return接收的第一个参数是ed,x.charAt(0)返回的是c。
//组成字符串edc
public static String reverseString(String x){
if(x == null || x.length()<2) return x;
return reverseString(x.substring(1,x.length())) + x.charAt(0);
}
}
图示: