【发布时间】:2022-10-01 03:02:47
【问题描述】:
我了解第三个条件但不了解第二个
在第二个条件 - 如果 \"str\" 的长度是 2 (意味着它有 2 个字符)然后返回 \"str[0] === str[1]\" 但是如果最后两个字符是不同的 \ "c\" \"g\" 也许?
在return str[0] === str[1] 中如何进行比较?比较是否必须在 if() 语句中,因为 if() 语句返回 true ?
但是,这一行 return str[0] === str[1] 超出了 if() 语句的范围,返回 true 或 false
function isPalindrome(str) {
// 1st Conditional
if (str.length === 1) return true
// 2nd Conditional
else if (str.length===2) return str[0]===str[1]
// 3rd Conditional
else if (str[0] === str.slice(-1)) {
return isPalindrome(str.slice(1,-1))
}
return false
}
-
return str[0]===str[1]如果值匹配,则得到return true,否则得到return false
标签: javascript algorithm recursion palindrome