我确实了解以下功能的总体工作原理。但是为什么它在第一次迭代后(存在回文)就不退出?它检查if语句中的最后一个字符与最后一个字符,这是对的,按照我的逻辑,应该执行什么返回语句...感谢您对解释这一点的任何帮助! :)
function palindrome(str) {
var lowerCaseStr = str.toLowerCase();
for (var i = 0; i < lowerCaseStr.length; i++)
debugger;
if (lowerCaseStr[i] === lowerCaseStr[lowerCaseStr.length - i - 1]){
return true;
}
return false;
}
最佳答案
您需要切换逻辑,检查不等式并返回false
。如果到达末尾,请返回true
。
function palindrome(str) {
var lowerCaseStr = str.toLowerCase();
for (var i = 0; i < lowerCaseStr.length; i++) {
debugger;
if (lowerCaseStr[i] !== lowerCaseStr[lowerCaseStr.length - i - 1]) {
return false;
}
}
return true;
}