美文网首页
字节跳动,腾讯大厂面试专题——力扣(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