力扣-每日一题

简介: 给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境

给你一个 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

Java

方法一:

class Solution {

   public int reverse(int x) {

       int rev = 0;

       while (x != 0) {

           int pop = x % 10;

           x /= 10;

           if (rev > Integer.MAX_VALUE/10 || (rev == Integer.MAX_VALUE / 10 && pop > 7)) return 0;

           if (rev < Integer.MIN_VALUE/10 || (rev == Integer.MIN_VALUE / 10 && pop < -8)) return 0;

           rev = rev * 10 + pop;

       }

       return rev;

   }

}

方法二:

class Solution {

   public int reverse(int x) {

       if(x==0){

           return 0;

       }

       long res = 0;

       while (x != 0){

           res = res * 10 + x % 10;

           x /= 10;

       }

       if (res>Math.pow(2,31)||res<Math.pow(-2,31)){

           res=0;

       }

       return (int) res;

 

   }

}


目录
相关文章
|
6月前
|
存储 vr&ar Python
力扣每日一题 6/5
力扣每日一题 6/5
48 3
|
6月前
|
索引
力扣每日一题 5/25
力扣每日一题 5/25
38 2
|
6月前
|
存储
力扣每日一题 6/9
力扣每日一题 6/9
45 5
|
6月前
力扣每日一题 6/7
力扣每日一题 6/7
36 3
|
6月前
|
算法
力扣每日一题 6/6
力扣每日一题 6/6
43 3
|
6月前
|
Python
力扣每日一题 5/30
力扣每日一题 5/30
36 3
|
6月前
力扣每日一题 6/8
力扣每日一题 6/8
34 3
|
6月前
力扣每日一题 6/3
力扣每日一题 6/3
33 3
|
6月前
|
存储 人工智能 算法
力扣每日一题 6/4
力扣每日一题 6/4
38 3
|
6月前
力扣每日一题 6/2
力扣每日一题 6/2
41 3