3 回答

TA贡献1898条经验 获得超8个赞
function reverseString(str) {
if (typeof str !== "string") {
return str;
}
// you must add this line. rest of the code is fine
if (!str.length) return str; // this terminates the recursion when it reaches the end
return reverseString(str.substring(1)) + str.charAt(0);
}
console.log(reverseString("!detseT"));

TA贡献1811条经验 获得超5个赞
您可以迭代字符串并用于charAt(str.length - 1)从字符串中获取元素。然后str.slice(0, str.length - 1将从字符串中删除最后一个字符并调用相同的递归函数
function reverseString(str, finalStr) {
if (!finalStr) {
finalStr = '';
}
if (str.length === 0) {
finalStr += str;
return finalStr
} else {
finalStr += str.charAt(str.length - 1);
return reverseString(str.slice(0, str.length - 1), finalStr)
}
}
console.log(reverseString("good"));

TA贡献1813条经验 获得超2个赞
为什么不直接用这个?
function reverseString(str) {
if (typeof str !== "string"){
return str;
}
else{
return str.split('').reverse().join('');
}
}
console.log(reverseString("good"));
您将字符串拆分为字符数组,将其反转并加入它。
添加回答
举报