我必须编写一个接受字符串的布尔函数,并检查字符串在Java中是否是回文。
这是我的代码
static boolean isPalindrome(String input)
{
int i = 0;
last = input.length() - 1;
while (i < last) {
if (input.charAt(i) != input.charAt(last))
return false;
i++;
last--;
}
return true;
}
我想将此部分添加到我的代码中,但我坚持认为,如果只有一个字符不匹配,我应该将其视为有效回文。
示例结果:
“book” -> true
“refer” -> true
“” -> true
添加boolean
标志以跟踪是否已经找到不匹配的字符对:
static boolean isPalindrome(String input)
{
boolean firstMismatch = true;
int i = 0;
last = input.length() - 1;
while (i < last) {
if (input.charAt(i) != input.charAt(last)) {
if (firstMismatch) {
firstMismatch = false;
} else {
return false;
}
}
i++;
last--;
}
return true;
}