整数反转

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

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

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

Java实现

public static void main(String args[]){
     int res = reverse(-1256789881);
     System.out.println(res);//-1889876521

}

public static int reverse(int x) {
     long result = 0;
     while (x != 0){
         int temp = x%10;
         result = result*10+temp;
         x /= 10;
     }
     if (result>Math.pow(2,31)-1 || result<Math.pow(-2,31)){
         return 0;
     }
     return (int)result;
}

JS实现

var reverse = function(x) {
  var y = Math.abs(x);//返回x的绝对值
  //toString将整数转换为字符串,split将字符串分割为字符串数组
  //reverse将数组元素反转,join把数组内的所有元素放入一个字符串
  
  //parseInt把字符串解析成特定基数对应的整型数字
  //var res = parseInt(x.toString().split("").reverse().join("")); //此方式不需要上一条声明y的语句
  
  var res = y.toString().split("").reverse().join(""); 
  if (x<0) {
    res= -res;
  }
  if (res > Math.pow(2,31)-1 || res < Math.pow(-2,31) ){
    return 0;
  }else{
     return res;
  }

}

console.log(reverse(123));//321

 

posted @ 2021-09-17 16:51  rissa  阅读(44)  评论(0)    收藏  举报

记录学习笔记,会有很多是参考重复,如有侵权,联系删除