Palindrome Number (LeetCode)


問題の説明


入力したx値の前後が同じ場合はtrueまたはfalseを返します.

せいげんじょうけん

  • xは、-2**31以降の2*31-1以下の整数
  • です.

    に答える

    var isPalindrome = function(x) {
        // 음수일 경우 false, 0~9일 경우 true
        if(x < 0)
            return false;
        else if(x>=0 && x<10)
            return true;
        const stringArr = String(x).split('');
        const numberLength = stringArr.length;
        let leftArr;
        let rightArr;
        // 숫자를 문자열로 바꿨을때 길이가 홀수일 경우, 짝수일 경우
        if(numberLength % 2 === 1){
            leftArr = stringArr.splice(0,Math.floor(numberLength / 2));
            rightArr = stringArr.splice(1,Math.floor(numberLength / 2));
        }else{
            leftArr = stringArr.splice(0,numberLength / 2);
            rightArr = stringArr.splice(0,numberLength / 2);
        }
        // 왼쪽 절반, 역순으로 바꾼 오른쪽 절반 비교
        return leftArr.join('') === rightArr.reverse().join('') ? true : false;
    };