「字符串」leetcode 7.取反转数(简单)

112 阅读1分钟

一、了解题目

附上原题链接: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

以上就是关于取反转数的题解,不知道对小伙伴们是否有帮助呢?

我们下期见👋👋👋