LeetCode - 125. Valid Palindrome


コード#コード#

/**
 * @param {string} s
 * @return {boolean}
 */
var isPalindrome = function(s) {
    const regex = /[^a-zA-Z0-9]/g;
    const reverseStr = s.replace(regex,'').toLowerCase().split('').reverse().join('');
    
    if(s.replace(regex,'').toLowerCase() === reverseStr) return true;
    return false;
    
};

解答と感想


正規式を用いてアルファベットと数字だけを残し、toLowerCase()で小文字に書く.そしてsplit('')を用いて配列した後、reserve()を用いて反転し、join('')を合成する.最初はアルファベットしか残らないと思っていたが...アルファベットの数字を間違えてから...他の人の答えを見てみるとtwo pointerだったり、matchを使ってsplit('')の過程を経なかったりします.leetcodediscussの機能と間違ったテストボックスを示しているので、気持ちがいいです.しかし、時には自分がテストケースを考える能力が足りないと思います.🤔