Need help with palindrome recurse method in Java -


i've seen other recursive palindrome questions , i've seen answers, 1 have little different. needs able check string spaces , punctuation , ignore them (i know, technically aren't palindromes), strings such "madam, i'm adam" should return true, program not. here's have:

public static boolean ispalindrom(string s){         system.out.println(s);         if (!character.isletter(s.charat(0))){             ispalindrom(s.substring(1,s.length()));         }          if (!character.isletter(s.charat(s.length()-1))){             ispalindrom(s.substring(0,s.length()-1));         }          if (s.length() == 1){              return true;         }          if (s.length() == 2){             if (s.substring(0,1).equalsignorecase(s.substring(s.length()-1))){                  return true;             }             else                 return false;         }         if (!(s.substring(0,1).equalsignorecase(s.substring(s.length()-1)))){              return false;         }              return ispalindrom(s.substring(1,s.length()-1));      } 

the problem once starts unwinding recursion, strings contained spaces , punctuations start returning false. i'm not sure do. i've been messing around trying different solutions hour now.

p.s. i'm trying not use regular expressions remove spaces , punctuation , such.

you don't return result of first 2 ispalindrom (which check cases started failing now...):

  if (!character.isletter(s.charat(0))){         return ispalindrom(s.substring(1,s.length()));     }      if (!character.isletter(s.charat(s.length()-1))){         return ispalindrom(s.substring(0,s.length()-1));     } 

Comments