【力扣刷题】7. 整数反转

2022-11-02 16:44:58 浏览数 (1)

一、题目描述

来源:力扣(LeetCode)

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

提示:

二、思路分析

代码语言:javascript复制
将整数取的个位,然后结果*10相加,整数/10去除个位数,知道整数为0
以123为例
123 % 10 = 3
n = 0*10   3 = 3
123/10 = 12;

12 = 2
n = 3*10  2 = 32
12/10 = 1

1 = 1
n = 32*10   1 = 321
1/10 = 0

三、代码实现

代码语言:javascript复制
class Solution {
    public int reverse(int x) {
        long n = 0;
        while(x != 0) {
            n = n*10   x;
            x = x/10;
        }
        return (int)n==n? (int)n:0;
    }
}

四、运行结果

总结

简单的程序运算,运用了java的整形计算除法忽略小数点的方法来解题

0 人点赞