zoukankan      html  css  js  c++  java
  • JavaScript:整数反转

    题目:

      给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

    如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ,就返回 0。

    假设环境不允许存储 64 位整数(有符号或无符号)。
     

    示例 1:
    
    输入:x = 123
    输出:321
    示例 2:
    
    输入:x = -123
    输出:-321
    示例 3:
    
    输入:x = 120
    输出:21
    示例 4:
    
    输入:x = 0
    输出:0
    

    提示:
    -231 <= x <= 231 - 1

      

      方法一:

    var reverse = function(x) {
        var str= x.toString();  //转成字符串
        var arrStr = str.split('');  //分割成数组
        if(arrStr[0] !== '-'){
           let num=Number(arrStr.reverse().join(''))  // 翻转数组-》转成字符串-》转成数字
            if(num <= 2147483647 && num >= -2147483648){
                 return num    
            }else{
                return 0
            }
        }else if(arrStr[0] === '-'){
            delete arrStr[0];  //删除第一位负号
            let num =  Number( arrStr.reverse().join(''));  //翻转数组-》转成字符串-》转成数字
            if(num <= 2147483647 && num >= -2147483648){
                 return -num    //增加负号
            }else{
                return 0
            }
        }
    };
    

      方法二:

    var reverse = function(x) {
        var str= x.toString();
        var arrStr = str.split('');
        if(arrStr[0] !== '-'){
           let num=Number(arrStr.reverse().join(''))
            if(num <= 2147483647 && num >= -2147483648){
                 return num    
            }else{
                return 0
            }
        }else if(arrStr[0] === '-'){
            delete arrStr[0];
            let num =  Number( arrStr.reverse().join(''))
            if(num <= 2147483647 && num >= -2147483648){
                 return ~num+1  //  '~'对数字取反,取反后需要加1  
            }else{
                return 0
            }
        }
    };
    

      

    作者:wang-yi-dong
    链接:https://leetcode-cn.com/problems/reverse-integer/solution/zheng-shu-fan-zhuan-by-wang-yi-dong-rcyi/
    来源:力扣(LeetCode)
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    02 python网络爬虫《Http和Https协议》
    09 Django之orm中的锁和事务
    08 Django之自定义标签和过滤器
    07 Django之配置静态文件以及渲染图片
    06 Django之模型层---多表操作
    05 Django之模型层---单表操作
    Spring 中的 18 个注解,你会几个?
    一个 Java 对象到底有多大?
    面试题:InnoDB中一棵B+树能存多少行数据?
    Elasticsearch如何做到亿级数据查询毫秒级返回?
  • 原文地址:https://www.cnblogs.com/wyd168/p/14783006.html
Copyright © 2011-2022 走看看