我有一个类,用于检查一个字符串是否是回文。我有两个问题。
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");
}
}
}
感谢您提前的任何帮助和输入 :)
return (word.compareTo(pal) == 0)
可以节省if
的使用。 - Andrew MortonSystem.out.println("" + Words.isPalindrome("whatever"))
-- 布尔值会自动转换为相应的字符串"true"或"false"。 - user10762593