美文网首页
字节跳动,腾讯大厂面试专题——力扣(7)整数反转

字节跳动,腾讯大厂面试专题——力扣(7)整数反转

作者: 纯粹的少年 | 来源:发表于2020-08-16 11:08 被阅读0次

    题目解析

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

    • 首先我们知道题目给了我们一个整数,我们分析一下意思,系统想让我们将一个数反转过来,且反转过来的数值范围为[−2^31/, 2^31 − 1]。

    解题思路

    • 首先我们可以创建一个数组,把传入的数字转换成字符串的形式,在转换成数组的形式存储起来。
    • 然后循环遍历这个数组,如果这个数传入进来的时候是负数,那我们就少遍历一次。把这些数倒序相加起来。最后将数组的第0项添加到最前面。反之,我们就全部遍历。
    • 之后我们就可以将这个数转换为数字类型,同时清除转换之后开始为0的情况。
    • 最后我们用3元运算判断这个数的范围。再将这个数返回即可。

    完整代码

    var reverse = function(x) {
                var new_arr = [];
                var str = "";
                new_arr = x.toString().split("");
                if(x<0){
                    for(var i = new_arr.length-1 ; i>0 ; i--){
                        str += new_arr[i];
                    }
                    str = new_arr[0]+str;
                }else{
                    for(var i = new_arr.length-1 ; i>-1 ; i--){
                        str += new_arr[i];
                    }
                }
                str = parseInt(str);
                str = str > Math.pow(2,31)-1 || -Math.pow(2,31) > str ? 0 :str;
                return str;
    };
    

    相关文章

      网友评论

          本文标题:字节跳动,腾讯大厂面试专题——力扣(7)整数反转

          本文链接:https://www.haomeiwen.com/subject/jhyadktx.html