【发布时间】:2020-11-12 01:30:24
【问题描述】:
我目前有一个代码,它计算给定字符串中的回文数,它工作正常,直到我用“appal”测试它,当它应该返回 2(appa 和 pp)时,函数返回 0 如果有人我真的很感激可以编辑我当前的代码以满足该要求,谢谢! 这是我的代码:
function countPalindromes(string, count) {
if (string.length <= 1) {
return count;
}
let [ firstLetter ] = string;
let lastLetter = string[string.length - 1];
if (firstLetter === lastLetter) {
let stringWithoutFirstAndLastLetters = string.substring(1, string.length - 1);
return countPalindromes(stringWithoutFirstAndLastLetters, count + 1);
} else {
return 0;
}
}
console.log(countPalindromes("kayak", 0));
console.log(countPalindromes("aya", 0));
console.log(countPalindromes("appal", 0));
【问题讨论】:
-
我认为你的问题是你只会检查
appal和ppa是否是回文。您需要找到一些方法来检查没有仅第一个字母的字符串和仅没有最后一个字母的字符串。 -
@M-Chen-3 你觉得你能帮我吗?
-
应该
xyzappa也返回2,因为appa和pp是回文?这到底应该如何工作? -
是的,也应该返回 2,我的作业要求我“给定一个字符串,计算该字符串中存在的回文数(不包括单个字母),同时使用递归”@Sylwester跨度>
-
@Sylwester 非常感谢您的帮助!!
标签: javascript function recursion palindrome