一、题目描述
给你一个 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
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
二、完整代码
public class Solution {
public static void main(String[] args) {
int number = -12510;
int reverse_num = reverse(number);
System.out.println(reverse_num);
}
public static int reverse(int x) {
Stack<String> stringStack = new Stack<>();
String result = "";
boolean is_positive_int = true;
if (x < 0) {
is_positive_int = false;
}
String x_str = String.valueOf(Math.abs(x));
for (int i = 0; i < x_str.length(); i++) {
stringStack.push(x_str.charAt(i) + "");
}
while (!stringStack.isEmpty()) {
result = result + stringStack.pop();
}
try {
return is_positive_int ? Integer.valueOf(result) : -Integer.valueOf(result);
} catch (Exception e) {
return 0;
}
}
}
public class Solution {
public static void main(String[] args) {
int number = -12510;
int reverse_num = reverse(number);
System.out.println(reverse_num);
}
public static int reverse(int x) {
String result = "";
boolean is_positive_int = true;
if (x < 0) {
is_positive_int = false;
}
String x_str = String.valueOf(Math.abs(x));
for (int i = x_str.length()-1; i >=0; i--) {
result = result + x_str.charAt(i)+"";
}
try {
return is_positive_int ? Integer.valueOf(result) : -Integer.valueOf(result);
} catch (Exception e) {
return 0;
}
}
}