精华内容
下载资源
问答
  • 2020-07-27 15:59:25

    题目:
    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
    注意:
    假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
    示例 1:
    输入: 123
    输出: 321
    示例 2:
    输入: -123
    输出: -321
    示例 3:
    输入: 120
    输出: 21

    首先拿到这道题的想法就是转为字符串或者数组,然后计算完后再转为数值。但想到了更简单的方法,即:

    %求余数的值*10 + x/10的值,具体代码如下:

    var reverse = function(x) {
        var rev = 0;
        while(x!=0){
            var pop = x%10;
            if(x>0) x = Math.floor(x/10);
            else if(x<0) x=Math.ceil(x/10);
            rev = rev*10 + pop;
            if(rev<Math.pow(-2,31) || rev>Math.pow(2,31)-1) return 0;
            
        }
        return rev;
    };
    

    有些细节需要注意:
    1、对于正数来说,Math.floor向下取整,因此,0.6会等于0;Math.ceil向上取整,而对于负数来说,Math.ceil向上取整,因此,-0.6会等于-1。所以需要判断x与0的大小,再决定用向上或向下。
    2、Math.pow是求方,不能使用-2^31。

    本文为作者关于LeetCode的解法

    大神解法请自己搜索

    更多相关内容
  • 然后把整数转换成数组后反转,然后分正数和负数讨论,最后还要注意一个数值范围。 var reverse = function(x) { if(x>=0&&x<=9) { return x; } var arr = x.toString().split('').reverse(); if...

    在这里插入图片描述
    解题思路:首先注意X本来就是一位数的特殊情况,这种情况就返回它本身。然后把整数转换成数组后反转,然后分正数和负数讨论,最后还要注意一个数值范围。

    var reverse = function(x) {
        if(x>=0&&x<=9)
            {
                return x;
            }
        var arr = x.toString().split('').reverse();
        if(arr[arr.length-1]==='-')
            {
                arr.pop();
                arr.unshift('-');
                var result = parseInt(arr.join(''),10);
            }
        else
            {
                var result = parseInt(arr.join(''),10);
            } 
        if(result > 2147483647 || result < -2147483648)
       		{
        	    result = 0;
        	}
        return result;
    };
    
    展开全文
  • LeetCode整数反转JS实现

    2020-03-25 14:35:16
    整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例1 输入: 123 输出: 321 示例 2 输入: -123 输出: -321 示例 3 输入: 120 输出: 21 注意 假设我们的环境只能存储得下 32 位...

    整数反转

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

    示例1

    输入: 123
    输出: 321
    

    示例 2

    输入: -123
    输出: -321
    

    示例 3

    输入: 120
    输出: 21
    

    注意

    假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [ − 2 31 , 2 31 − 1 ] [−2^{31}, 2^{31} − 1] [231,2311]。请根据这个假设,如果反转后整数溢出那么就返回 0。

    转换为string反转

    /**
     * @param {number} x
     * @return {number}
     */
    var reverse = function (x) {
        const border = 2 ** 31
        let num = (x > 0 ? 1 : -1) * x.toString().split('').filter(x => x !== '-').reverse().join('')
        if (num >= -border && num <= border-1) return num
        else return 0
    };
    

    复杂度

    • 时间复杂度: O ( log ⁡ n ) O(\log{n}) O(logn)
    • 空间复杂度: O ( 1 ) O(1) O(1)
    展开全文
  • LeetCode整数反转(js)

    2019-05-05 11:20:28
    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 用到一些数组和字符串的处理方法 代码: /** * @...

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

    示例 1:

    输入: 123
    输出: 321
    示例 2:

    输入: -123
    输出: -321
    示例 3:

    输入: 120
    输出: 21

    用到一些数组和字符串的处理方法

    代码:

    /**
     * @param {number} x
     * @return {number}
     */
    var reverse = function(x) {
        if(x == 0){
            return 0;
        }
        
        //转换成字符串数组
        var array = x.toString().split('');
        var res, num;
        if(array[0] <= '9' && array[0] >= '0'){
            res = array.reverse();
            while(res[0] == '0'){
                //弹出一个
                res.shift();
            }
            num = parseInt(res.join(''));
        }
        //是负数
        else{
            //取出原数组的后面部分
            var t = array.splice(1).reverse();
            
            while(t[0] == '0'){
                //弹出一个
                t.shift();
            }
            t.unshift('-');
            num = parseInt(t.join(''));
        }
        if(num > 2147483647 || num < -2147483648){
            num = 0;
        }
        return num;
    };
    
    展开全文
  • 整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 解题思路 将输入的数组转化为...
  • leetcode 整数反转

    2019-02-24 20:00:35
    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 输入: 123 输出: 321 输入: -123 输出: -321 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围...
  • 如果反转整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示例 1: 输入:x = 123 输出:321 示例 2: 输入:x = -123 输出:-321 示例 3: ...
  • LeetCode7.整数反转

    2019-01-15 17:10:10
    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321  示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下...
  • 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入: 123 输出: 321  示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储 32 位有符号整数,...
  • Leetcode 7: 整数反转

    2019-11-29 15:02:12
    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有...
  • # 在Python内部对整数的处理分为普通整数和长整数,普通整数长度为机器位长,通常都是32位,超过这个范围的整数就自动作为长整数处理,而长整数的范围几乎完全没限制,故可以作为判断是溢出的标准 if(int(number)&...
  • 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有...
  • 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 ...
  • LeetCode0007整数反转

    2019-11-25 17:09:09
    JavaScript解法 var reverse = function ( x ) { var max = Math . pow ( 2 , 31 ) - 1 ; var min = - Math . pow ( 2 , 31 ) ; var y = 0 ; while ( x !== 0 ) { ...
  • runtime error: signed integer overflow: 964632435 * 10 cannot be represented in type 'int' (solution.cpp)
  • JavaScript学习笔记题目要求JavaScript代码解题思路 题目要求 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 输入 & 输出 & 解释 示例1 输入: 123输出: 321 示例2 ...
  • 整数反转 JavaScript 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的...
  • 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 事例3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有...
  • https://leetcode-cn.com/problems/reverse-integer/ 二、具体代码 /** * @param {number} x * @return {number} */ // 时间复杂度: O(N) // 空间复杂度: O(1) var reverse = function(x) { let res = 0; ...
  • var reverse = function (x) { if (x < 0) { return -reverse(-x); } var n = x.toString().length; var i = 0; var y = 0; nums = [];... y = y + (x % 10) * Math.pow(10, n - i - 1);... }
  • 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号...
  • 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示例...
  • 整数反转
  • 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示例 1: ...
  • 整数反转JavaScript) 难度简单 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位...
  • leetcode-整数反转

    2020-07-16 14:55:09
    (2)要考虑到在数据反转的过程中,可能会出现数据一次的情况(所以在循环的时候要进行判断) 2.上代码: /** * @param {number} x * @return {number} */ var reverse = function(x) { const max = 0x7...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 934
精华内容 373
关键字:

leetcode整数反转js