在编程中,有多种方法可以解决同样的问题。以下问题与回文有关。虽然我觉得我走在正确的轨道上,但我无法完全解决问题,无法获得所要求的解决方案。
什么是回文?向前或向后写的单词是相同的并返回true。例如"赛车"。因此,我在Javascript中设计了以下代码......
function palindrome(string) {
string = string.toLowerCase();
lowString = string.toLowerCase().split("").reverse().join("");
for (var i=0; i<string.length; i++) {
if (string[i] !== lowString[i]) {
return false;
}
}
}
return true;
}
如果Palindrome存在,上面的代码返回true,否则返回false。
然后,问题出现了 - 鉴于字符串或阵列中的各种回文,请返回最长的回文。所以,我写了以下内容:
function longestPalindrome(newstring) {
splitString = newString.split(" ");
for (var i=0; i < splitString; i++) {
if (splitString[i] == palindrome(splitString[i]) {
console.log(splitString[i]);
}
}
}
longestPalindrome("This is a racecar ada");'
但是在上面的代码中,我无法获得所需的结果,因为我认为我没有正确地调用该函数。
我希望明确的方向,甚至是我的赛道以及你认为最适合的赛道的解决方案。