我有一个类来检查字符串是否是回文。我有两个问题。递归检查回文
1)这是检查回文的最有效方法吗? 2)这可以递归地实现吗?
public class Words {
public static boolean isPalindrome(String word) {
String pal = null;
word = word.replace(" ", "");
pal = new StringBuffer(word).reverse().toString();
if (word.compareTo(pal) == 0) {
return true;
} else {
return false;
}
}
}
有一个测试类来测试这个...怀疑它的必要的,但在这里它是反正如果有人关心试试它能够帮助我与任何上述两个问题...
public class testWords {
public static void main(String[] args) {
if (Words.isPalindrome("a") == true) {
System.out.println("true");
} else {
System.out.println("false");
}
if (Words.isPalindrome("cat") == true) {
System.out.println("true");
} else {
System.out.println("false");
}
if (Words.isPalindrome("w o w") == true) {
System.out.println("true");
} else {
System.out.println("false");
}
if (Words.isPalindrome(" a ") == true) {
System.out.println("true");
} else {
System.out.println("false");
}
if (Words.isPalindrome("mom!") == true) {
System.out.println("true");
} else {
System.out.println("false");
}
}
}
在此先感谢您的帮助和或输入:)
在决定短语是否为回文时,您可能需要更改您认为有效的字符。例如,“女士,我是亚当”是一个回文。 –
所以我应该尝试让我的程序忽略字符,如“'” – choloboy7
http://stackoverflow.com/questions/1579977/palindrome-recursion-program?rq=1 – Rozuur