首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个回文算法的时间和空间复杂度?

这个回文算法的时间和空间复杂度?
EN

Stack Overflow用户
提问于 2020-09-25 20:50:53
回答 1查看 929关注 0票数 0

有人能告诉我这个算法的时间和空间复杂度吗?基本上,函数接受一个字符串,如果它是回文(与向前相同),则该函数必须返回true;如果不是,则返回false。

我认为这是O(n),但如果我错了,请纠正我。

代码语言:javascript
复制
function isPalindrome(string) {
    var reversing = string.split("").reverse().join("")
    return string === reversing
}
EN

回答 1

Stack Overflow用户

发布于 2020-09-26 11:27:20

您的函数的时间和空间复杂性为O(string.length),因为它构造了一个字符数组,然后构造了一个新字符串,该字符串的字符顺序相反,长度与原始字符串相同。比较这些字符串具有相同的时间复杂度。

然而,请注意,这对单个单词有效,但对完整的短语不起作用:可以用相同的字母在两个方向上阅读的短语,但不一定是相同的间距,也是回文。

以下是另一种版本:

代码语言:javascript
复制
function isPalindrome(string) {
    string = string.replace(/ /g, "");
    var reverse = string.split("").reverse().join("");
    return string === reverse;
}

该函数具有与O(string.length).相同的时间和空间复杂度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64071177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档