leetcode不定期刷题---125. 验证回文串

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

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

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

示例 1:

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

示例 2:

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

解答

大概步骤:

  • 获取有效的字符串,我们利用正则去匹配字母和数字,因为忽略大小写,所以我们转成小写
  • 然后利用 split('') 把字符串分割成数组,再用数组的 reverse() 去反转,再用 join(‘’) 去拼接
  • 最后进行比较
/**
 * @param {string} s
 * @return {boolean}
 */
var isPalindrome = function(s) {
  if (s.length === 1) return true
  const str = s.replace(/[^a-zA-Z0-9]/g, "").toLowerCase()
  const strReverse = str.split('').reverse().join('')
  return str === strReverse
};

你可能感兴趣的:(leetcode不定期刷题---125. 验证回文串)