整数 x が与えられた場合、x が回文整数の場合は true を返し、それ以外の場合は false を返します。
回文番号は、順方向 (左から右) と逆方向 (右から左) で同じ値を読み取る整数です。
たとえば、121 は回文ですが、123 は回文ではありません。
例 1:
入力: x = 121
出力: true
例 2:
入力: x = -121
出力: false
説明: 左から右に読むと、-121 になります。右から左に読むと、121-です。したがって、これは回文数ではありません。
例 3:
入力: x = 10
出力: false
説明: 右から左に読むと、01 になります。したがって、これは回文数ではありません。
ヒント:
-231 <= x <= 231 - 1
上級: 整数を文字列に変換せずにこれを解決できますか? できない
/**
* @param {number} x
* @return {boolean}
*/
var isPalindrome = function(x) {
let str = x.toString()
let mid = Math.floor(str.length/2)
let flag = str.length%2
let left,right
if(flag){
left = mid-1
right = mid +1
} else {
left = mid-1
right = mid
}
while(left>=0 && right<str.length){
if(str.charAt(left) != str.charAt(right)){
return false
} else {
left--
right++
}
}
return true
};