Java 如何检查字符串是否为回文
如何检查字符串是否为回文
学习如何检查一个单词正读反读是否相同(例如 "level "):
示例
String text = "level";
boolean isPalindrome = true;
for (int i = 0; i < text.length() / 2; i++) {
if (text.charAt(i) != text.charAt(text.length() - 1 - i)) {
isPalindrome = false;
break;
}
}
if (isPalindrome) {
System.out.println(text + " is a palindrome");
} else {
System.out.println(text + " is not a palindrome");
}
解释: 我们比较第一个字符和最后一个字符,第二个字符和倒数第二个字符,依此类推。
- 如果所有字符对都匹配,则该字符串是回文。
- 如果任何字符对不匹配,则该字符串不是回文。
例如,在 "level" 中:
l == le == e
使用 StringBuilder
您还可以使用 StringBuilder,这是一个特殊的 Java 类,可以轻松地处理和更改字符串(例如,反转字符串):
示例:
String text = "level";
String reversed = new StringBuilder(text).reverse().toString();
if (text.equalsIgnoreCase(reversed)) {
System.out.println(text + " is a palindrome");
} else {
System.out.println(text + " is not a palindrome");
}
解释: 我们取字符串 text,并使用 StringBuilder.reverse() 创建其反转字符串。如果原字符串和反转后的字符串相同(忽略大小写,使用 equalsIgnoreCase()),则它是回文。

