Skip to content
本页目录

125、验证回文串

题目描述

  • 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。

示例 1:

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

示例 2:

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

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/valid-palindrome

解法一(API 大法)

js
var isPalindrome = function (s) {
  let newStr = s
    .replace(/[^0-9a-zA-Z]/g, '')
    .toLowerCase()
    .split('');
  return newStr.join('') == newStr.reverse().join('');
};

解法二(双指针)

js
var isPalindrome = function (s) {
  let newStr = s.replace(/[^0-9a-zA-Z]/g, '').toLowerCase();
  let l = 0,
    r = newStr.length - 1;

  while (l < r) {
    if (newStr[l] != newStr[r]) {
      return false;
    }
    l++;
    r--;
  }
  return true;
};

MIT Licensed