3 回答

TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊
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貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以迭代字符串并用于charAt(str.length - 1)從字符串中獲取元素。然后str.slice(0, str.length - 1將從字符串中刪除最后一個(gè)字符并調(diào)用相同的遞歸函數(shù)
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貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊
為什么不直接用這個(gè)?
function reverseString(str) {
if (typeof str !== "string"){
return str;
}
else{
return str.split('').reverse().join('');
}
}
console.log(reverseString("good"));
您將字符串拆分為字符數(shù)組,將其反轉(zhuǎn)并加入它。
添加回答
舉報(bào)