一、题目描述
来源:力扣(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的整形计算除法忽略小数点的方法来解题