Skip to content

验证回文串

Code

ts
/**
 * 验证回文串
 * 回文串:一个字符串, 忽略大小写和非字母数字,正着读和反着读都是一样的
 * 例如:'abcba' 是回文串
 */
var isPalindrome = function (s) {};

解析

ts
var isPalindrome = function (s) {
  let left = 0;
  let right = s.length - 1;
  while (left < right) {
    if (!/[a-zA-Z0-9].test(left)/) {
      left++;
      continue;
    }
    if (!/[a-zA-Z0-9].test(right)/) {
      right--;
      continue;
    }
    if (s[left].toLowerCase() !== s[right].toLowerCase()) {
      return
    }
    left++;
    right--;
  }
  return true;
};