这是我参与11月更文挑战的第18天,活动详情查看:2021最后一次更文挑战
leetcode刷题之【回文数】
写在前面:
- 个人前端网站:zhangqiang.hk.cn
- 欢迎加入博主的前端学习qq交流群::706947563,专注前端开发,共同学习进步!
1 题目
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
示例 1:
输入:x = 121
输出:true
示例 2:
输入:x = -121
输出:false
解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入:x = 10
输出:false
解释:从右向左读, 为 01 。因此它不是一个回文数。
示例4:
输入:x = -101
输出:false
提示:
-2^31 <= x <= 2^31 - 1
进阶: 你能不将整数转为字符串来解决这个问题吗?
2 个人解析
2.1 思路
这一题,跟上一把的【整数反转】那个题目很相似,我们要做的就是判断反转过来的数是否等于之前的数,返回判断结果就可以了。
整数反转参考:juejin.cn/post/703401…
- 细节:由题可见,小于0的数直接就是返回
false,负数不是回文数。
2.2 代码
/**
* @param {number} x
* @return {boolean}
*/
var isPalindrome = function(x) {
if(x<0||x>Math.pow(2,31)-1){
return false;
}
let y=0,x1=x;
while(x){
y=y*10+x%10;
x=parseInt(x/10);
}
return y===x1;
};
3 小知识点
- 丢弃小数部分,保留整数部分
parseInt(7/2) =3
- 向上取整,有小数就整数部分加1
Math.ceil(7/2) =4
- 四舍五入.
Math.round(7/2) = 4
- 向下取整
Math.floor(7/2) = 3
css的全称是Cascading Style Sheets(层叠样式表)