验证回文串 - LeetCode

问题:

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

说明:本题中,我们将空字符串定义为有效的回文串。

示例 1:

输入: "A man, a plan, a canal: Panama"
输出: true
示例 2:

输入: "race a car"
输出: false

答案:
/**
 * @param {string} s
 * @return {boolean}
 */
let s = "A man, a plan, a canal: Panama";
let isPalindrome = function (s) {

    let len = s.length;
    if (len == 0 || len == 1) return true;
    s = s.toLowerCase(); // 转小写
    s = s.replace(/[^a-z0-9]/g, ""); // 保留字母与数字
    len = s.length;
    let str = "#";
    for (let i = 0; i < len; i++) {
        str += s[i] + "#";
    }

    len = str.length;
    for (let j = 1; j < Math.floor(len / 2); j++) {
        if (str[j] != str[len - (j + 1)]) {
            return false;
        }
    }
    return true;

};


你可能感兴趣的:(javascript,javascript,前端,算法,leetcode)