非遞迴方法
//迴文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");}}}