递归解决palindrome问题
如果String仅仅只是一个或者0个字符,则它就是palindrome
否则比较字符串第一个和最后一个字符
如果第一个和最后一个字符不同,那么就不是palindrome
否则strip off第一个和最后一个字符,然后比较剩余的string
1 public class palindrome { 2 public static void main(String[] args) 3 { 4 5 System.out.println(isPalindrome("rotor")); 6 7 } 8 9 static String lastCharacter(String str) 10 { 11 return str.substring(str.length()-1,str.length()); 12 } 13 14 static String firstCharacter(String str) 15 { 16 return str.substring(0,1); 17 } 18 19 static String middleCharacter(String str) 20 { 21 return str.substring(1,str.length()-1); 22 } 23 24 static String isPalindrome(String str) 25 { 26 if(str.length()==1 || str.length()==0) 27 { 28 return "equal"; 29 } 30 else 31 { 32 if(firstCharacter(str).equals(lastCharacter(str))) 33 { 34 return isPalindrome(middleCharacter(str)); 35 } 36 } 37 return "not equal"; 38 } 39 40 }