• 7. Reverse Integer


    7. Reverse Integer

    Reverse digits of an integer.

    Example1: x = 123, return 321
    Example2: x = -123, return -321

    click to show spoilers.

    Note:
    The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.

     1 /**
     2  * @param {number} x
     3  * @return {number}
     4  */
     5 var reverse = function(x) {
     6     //翻转问题对于我而言直接想到的就是分治递归。
     7     
     8     //比如ABCD
     9     //先 CDAB
    10     //在 CD 转成 DC  AB转成BA
    11     
    12 
    13     
    14   function innerReverse(x){
    15      //处理负数
    16     var flag = "";
    17     
    18     //先转成字符串
    19     x  = "" + x;
    20     
    21     var len = x.length;
    22     
    23     if(len <= 1){
    24         return x;
    25     }
    26     
    27     //转成number判断正负
    28     if(+x < 0){
    29         flag = "-";
    30         x = x.substring(1,len);
    31     }
    32     
    33     var mid  =  Math.floor((len - 1) / 2);
    34     
    35        var pre = innerReverse(x.substring(mid+1,len));
    36        var suf = innerReverse(x.substring(0,mid+1));
    37     
    38     
    39       var res = flag ? "" + flag + pre + suf : ""+ pre + suf;
    40       return res;
    41     }
    42 
    43     
    44     var res = +innerReverse(x);
    45     //这题一开始没管越不越界,其实js是可以越界的,但是没办法,要兼容其它语言,所以我们不要超过int的最大位,当然这个问题我在开始就判断了,后来发现,其实一开始可以不超过的,但是反转了就超过了,所以要在结尾判断。
    46     return Math.abs(res) > Math.pow(2, 31) - 1 ? 0 :res ;
    47     
    48 };
  • 相关阅读:
    JQuery学习四(过滤选择器)
    JQuery学习三(隐式迭代和节点遍历)
    JQuery学习二(获取元素控件并控制)
    JQuery学习一
    Dom中select练习
    DOM动态操纵控件案例
    DOM学习控件定位和案例
    DOM案例五星评分控件
    DOM动态增加控件
    DOM用TagName操作标签
  • 原文地址:https://www.cnblogs.com/huenchao/p/7639120.html
Copyright © 2020-2023  润新知