package com.gaoyuan;
public class Palindromes {
public static boolean isPalindrome(String s) {
int len = s.length();
if ( null == s || len < 1)
return false ;
char a = s.charAt(0);
char b = s.charAt(len - 1);
if (a != b)
return false ;
if (2 == len || 1 == len)
return true ;
return isPalindrome (s.substring(1, len - 1).trim());
}
public static boolean isPalindrome2(String s,Character c) {
if(c.equals(' ')){
isPalindrome(s);
}
String s1 = s.replace(c,'*');
int len = s1.length();
if ( null == s1 || len < 1)
return false ;
char a = s1.charAt(0);
char b = s1.charAt(len - 1);
if(a!='*' && b!='*'){
if ( a != b){
return false ;
}
}
if (2 == len || 1 == len)
return true ;
return isPalindrome2 (s1.substring(1, len - 1).trim(),c);
}
public static void main(String args[]){
System.out.println(isPalindrome2("abba",' '));
}
}
package com.gaoyuan;
public class TestPalindromes {
public static void main(String[] args){
System.out.println("----isPalindrome------------");
System.out.println(Palindromes.isPalindrome("a"));
System.out.println(Palindromes.isPalindrome("aa"));
System.out.println(Palindromes.isPalindrome("moon"));
System.out.println(Palindromes.isPalindrome("cat"));
System.out.println(Palindromes.isPalindrome("wow"));
System.out.println("----isPalindrome2------------");
System.out.println(Palindromes.isPalindrome2("a",' '));
System.out.println(Palindromes.isPalindrome2("wows",'s'));
System.out.println(Palindromes.isPalindrome2("wows",' '));
System.out.println(Palindromes.isPalindrome2("wow",' '));
System.out.println(Palindromes.isPalindrome2("abca",'c'));
System.out.println(Palindromes.isPalindrome2("cat",'t'));
System.out.println(Palindromes.isPalindrome2("cat",' '));
}
}