7. 整数反转

简介:

class Solution {

public int reverse(int x) {
    int flag = 1;
    if(x < 0){
        flag = -1;
        x = x * flag;
    }
    double maxValue = Math.pow(2,31);
    double minValue = 0 - Math.pow(2,31);
    int result = 0;
    while(true) {
        int right = x % 10;//余数
        if(result > ((maxValue - 1) - right) / 10){
            return 0;
        }
        if(result < (minValue - right) / 10) {
            return 0;
        }
        result = result * 10 + right;
        //if(result > maxValue - 1)此处不能校验住,因为超界后,result是一个小于maxValue - 1的值
        x = x / 10;
        if(x == 0) {
            break;
        }
    }
    if(flag == -1){
        result = result * flag;
    }
    
    return result;
}

}

相关文章
|
6月前
|
存储 Python
leetcode-7:整数反转
leetcode-7:整数反转
36 1
|
存储 算法
LeetCode7-整数反转
LeetCode7-整数反转
|
22天前
|
存储
LeetCode整数反转
解决LeetCode上的整数反转问题的几种方法,包括错误的方法和优化后的解决方案,以及如何避免反转后的整数超出32位有符号整数范围的问题。
30 1
|
18天前
|
Python
07_整数反转2021-04-18
07_整数反转2021-04-18
11 0
|
3月前
|
算法
LeetCode第7题整数反转
该文章介绍了 LeetCode 第 7 题整数反转的解法,通过除 10 取模和乘 10 累加的方式实现整数反转,同时注意边界情况的判断,并总结了通过举例推算发现规律的解题思路。
LeetCode第7题整数反转
|
5月前
7.整数反转
7.整数反转
|
6月前
|
存储 C++
整数反转(C++)
整数反转(C++)
31 0
|
存储 算法 安全
LeetCode - #7 反转整数
不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。
|
存储 Java Python
leetcode:7.整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
42 0
|
存储
整数反转1
整数反转1
65 0