此javascript递归解决方案中,用于检查字符串是否为回文符的功能是什么?]
我发现了一些非常有用的解决方案,可以编写Javascript函数来递归检查字符串是否是回文here。我想知道以下解决方案的时间和空间复杂度是多少。您能解释一下每一行对大O的贡献吗?function isPalindrome(string) {
if (string.length < 2) return true;
if (string[0] === string[string.length - 1]) {
return isPalindrome(string.slice(1, string.length - 1))
}
return false;
}
我发现了一些非常有用的解决方案,可以编写Javascript函数来递归检查此处的字符串是否是回文。我想知道...回答如下:起初,您的函数似乎是O(n),因为您递归调用了n / 2次。但是,在每个呼叫中,您还使用
string.slice
,其复杂度为O(n)。因此,您的函数实际上是O(n ^ 2)
此javascript递归解决方案中,用于检查字符串是否为回文符的功能是什么?]
我发现了一些非常有用的解决方案,可以编写Javascript函数来递归检查字符串是否是回文here。我想知道以下解决方案的时间和空间复杂度是多少。您能解释一下每一行对大O的贡献吗?function isPalindrome(string) {
if (string.length < 2) return true;
if (string[0] === string[string.length - 1]) {
return isPalindrome(string.slice(1, string.length - 1))
}
return false;
}
我发现了一些非常有用的解决方案,可以编写Javascript函数来递归检查此处的字符串是否是回文。我想知道...回答如下:起初,您的函数似乎是O(n),因为您递归调用了n / 2次。但是,在每个呼叫中,您还使用
string.slice
,其复杂度为O(n)。因此,您的函数实际上是O(n ^ 2)
发布评论