一、了解题目
附上原题链接:7. 整数反转
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
示例:
输入:x = 123
输出:321
二、解题思路
依据以上题意,我们来写下解题思路:
- 先对
x值去符号; - 定义一个值,存放反转后的数;
- 递进地对每位数进行反转。
三、代码实现
依据上面的题解,我们将用 js 来实现这道题。具体实现代码如下:
var reverse = function(x) {
// 1.去符号
let ord = Math.abs(x);
// 2.定义一个值,存放反转后的数
let now = 0;
// 3.判断条件:order必须>0
while(ord > 0){
// 3.1 一位一位地进行反转
now = now * 10 + ord % 10;
// 3.2 不断削减位数
ord = Math.floor(ord / 10);
}
// 4.返回结果
if(x < 0){
return now <= Math.pow(2,31) ? -now : 0;
}else{
return now < Math.pow(2,31) ? now : 0;
}
};
console.log(reverse(120333)); // 333021
以上就是关于取反转数的题解,不知道对小伙伴们是否有帮助呢?
我们下期见👋👋👋