用于查找回文字符串的 JavaScript 函数

javascriptweb developmentfront end technology

在此问题陈述中,我们的目标是创建一个函数,借助 Javascript 功能来查找给定的字符串是否为回文。因此,为了解决这个问题,我们首先需要简单地理解这个问题。

理解问题陈述

我们给出了一个字符串作为输入字符串,我们的主要目标是检查该字符串是否为回文字符串。如果是回文,则返回 true,否则返回 false。

回文是什么意思?

在给定的问题陈述中,使用了回文一词!让我们首先了解这个词的含义。回文是当我们必须定义一个在反转后看起来相同的字符串时使用的术语。例如,我们有一个字符串"MADAM",如果我们反转这个字符串,反转后为"MADAM",它看起来与输入字符串相似。所以这被称为回文。

给定问题的逻辑

对于代码,我们将创建一个函数来执行给定的任务。我们有一个字符串作为函数的输入。我们需要检查给定的字符串是否是回文。因此,首先我们将字符串转换为小写,并从字符串中删除所有其他字符以获得正确的输出。然后,我们将借助 Javascript 的反向方法遍历字符串,然后检查字符串是否与输入字符串相似。如果这些字符串看起来相似,则我们将结果返回为 true,否则返回 false。因此,此函数表明该字符串是回文。

算法

步骤 1 − 声明一个名为 isPalindrome 的函数,该函数使用字符串参数。

步骤 2 − 将给定的字符串转换为小写,以获得所需的实际结果。并从字符串中删除多余的字符和空格。

步骤 3 − 借助反向函数反转字符串。

步骤 4 − 检查两个字符串是否相似。

步骤 5 − 返回结果为 true 或 false。

算法代码

function isPalindrome(str) {
    // 将字符串转换为小写并删除非字母数字字符
    str = str.toLowerCase().replace(/[^a-z0-9]/g, '');
    
    // 反转字符串并与原始字符串进行比较
    return str === str.split('').reverse().join('');
}
const str = "Level";
const str1 = "Hello Javascript";
const str2 = "Wow";
console.log(isPalindrome(str))
console.log(isPalindrome(str1))

//显示输出的其他方式
const result = isPalindrome(str2);

if(result == true){
    console.log(str2, "is palindrome");
} else {
    console.log(str2, "is not Palindrome");
}

复杂度

该函数所花费的时间为 O(n),因为该方法使用恒定时间来处理给定字符串中的每个字符。n 是字符串的大小。代码使用的空间为 O(1),因为它以布尔形式显示结果。

结论

因此,上面创建的函数可用于找出给定的字符串是否为回文,时间复杂度为 O(n)。我们基本上使用了一些内置方法来解决给定的问题。


相关文章