[leetcode, JS] 125. Valid Palindrome

mxxn·2023년 9월 20일
0

leetcode

목록 보기
80/198

문제

문제 링크 : Valid Palindrome

풀이

/**
 * @param {string} s
 * @return {boolean}
 */
var isPalindrome = function(s) {
    let newStr = s.replace(/[^a-z0-9]/gi,"").toLowerCase();
    return newStr.split("").reverse().join("") === newStr ? true : false;
};
  1. 정규식으로 알파벳과 숫자를 제외한 나머지를 빈값으로 바꾸고 소문자로 변경
  2. newStr과 newStr을 reverse한 값을 비교하여 return
  • Runtime 64 ms, Memory 46.5 MB

다른 풀이

/**
 * @param {string} s
 * @return {boolean}
 */
var isPalindrome = function(s) {
    let string = s.replace(/([^\w]|_)/g,'').toLowerCase();
    let left = 0, right = string.length - 1;
    while(left < right){
      if(string[left] !== string[right]){
        return false;
      }
      left++; right--;
    }
    return true;
};
  1. 정규식 사용 후 소문자로 변경
  2. while문으로 앞글자들과 뒷글자들을 비교하여 return
  • Runtime 65 ms, Memory 44.1 MB
profile
내일도 글쓰기

0개의 댓글