leetcode 算法题009 (简单003) 回文数
- 题目介绍
判断一个整数是否是回文数。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数
- 示例
输入: 121
输出: true
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
- 解法一
/**
* @param {number} x
* @return {boolean}
*/
var isPalindrome = function(x) {
return x.toString() === x.toString().split('').reverse().join('')
};
执行用时 : 328 ms, 在所有 JavaScript 提交中击败了66.22%的用户
内存消耗 : 45.9 MB, 在所有 JavaScript 提交中击败了39.44%的用户
- 解法二
* @param {number} x
* @return {boolean}
*/
var isPalindrome = function(x) {
if (x < 0) {
return false;
}
if (x < 10) {
return true;
}
if(x % 10 === 0) {
return false;
}
let temp = 0;
while (x != 0) {
let n = x % 10
temp = temp * 10 + n
console.log(temp, x)
if (temp === x) {
return true;
}
x = (x - n) / 10
console.log(temp, x)
if (temp === x) {
return true;
}
if (temp > x) {
return false;
}
}
return false
};
执行用时 : 780 ms, 在所有 JavaScript 提交中击败了5.10%的用户
内存消耗 : 85.5 MB, 在所有 JavaScript 提交中击败了5.01%的用户