非递归方法
//回文
public class Palindromes {
public static boolean isPalindomes(char []a){
int flag = 0;
char [] b = dealString(a);
for (int i = 0; i < b.length; i++) {
if (b[i]!=b[b.length-i-1]) {
flag = 1;
}
}
if (flag!=0) {
return false;
}else {
return true;
}
}
public static char[] dealString(char []a){
int j = 0;
char []b = new char[a.length];
for (int i = 0; i < a.length; i++) {
if ((a[i]>='a'&&a[i]<='z')) {
b[j]=a[i];
j++;
}else if ((a[i]>='A'&&a[i]<='Z')) {
b[j]=(char) (a[i]+'a'-'A');
j++;
}
}
char []c = new char[j+1];
return c;
}
public static void main(String[]args){
char []a = {'a','b',',','B','A'};
if (isPalindomes(a)) {
System.out.println("la");
}
}
}
递归方法
public class PalindromesWithDigui {
public static boolean isHuiwen(char[]a,int start,int end){
if (start >=end) {
return true;
}else{
if (a[start]==a[end]) {
return isHuiwen(a, start+1, end-1);
}else{
return false;
}
}
}
public static void main(String[]args){
char a[] = {'a','b','e','c','a'};
if (isHuiwen(a, 0, a.length-1)) {
System.out.println("la");
}
}
}