原题链接:125. 验证回文串
解题思路:
- 回文串的含义是:一个字符串,翻转后仍然等于其本身。
- 将输入字符串中,字母和数字取出(其中大写字母需要转成小写),存入一个数组。
- 利用数组的
reverse
方法,即可将字符串翻转,因此将翻转前后的字符串进行对比即可。
/**
* @param {string} s
* @return {boolean}
*/
var isPalindrome = function (s) {
let arr = []; // 使用数组存储合格的字符
// 遍历s,将合格的字符存入arr
for (const char of s) {
// 字母和数字字符都是合格的
if (char >= '0' && char <= '9') {
arr.push(char);
} else if (char >= 'a' && char <= 'z') {
arr.push(char);
}
// 大小写需要忽略,此处将大写转换为小写
else if (char >= 'A' && char <= 'Z') {
arr.push(char.toLowerCase());
}
}
// 将数组和翻转后的数组,转换成字符串对比即可
return arr.join('') === arr.reverse().join('');
};