Tcdian / keep

今天不想做,所以才去做。
MIT License
5 stars 1 forks source link

125. Valid Palindrome #221

Open Tcdian opened 4 years ago

Tcdian commented 4 years ago

125. Valid Palindrome

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

Example 1

Input: "A man, a plan, a canal: Panama"
Output: true

Example 2

Input: "race a car"
Output: false

Note

Tcdian commented 4 years ago

Solution

/**
 * @param {string} s
 * @return {boolean}
 */
var isPalindrome = function(s) {
    let left = 0;
    let right = s.length - 1;
    s = s.toLowerCase();
    while(left < right) {
        if (!/[0-9a-z]/.test(s[left])) {
            left++;
            continue;
        }
        if (!/[0-9a-z]/.test(s[right])) {
            right--;
            continue;
        }
        if (s[left] !== s[right]) {
            return false;
        }
        left++;
        right--;
    }
    return true;
};
function isPalindrome(s: string): boolean {
    let left = 0;
    let right = s.length - 1;
    s = s.toLowerCase();
    while(left < right) {
        if (!/[0-9a-z]/.test(s[left])) {
            left++;
            continue;
        }
        if (!/[0-9a-z]/.test(s[right])) {
            right--;
            continue;
        }
        if (s[left] !== s[right]) {
            return false;
        }
        left++;
        right--;
    }
    return true;
};