分类:LeetCode
作者:屈三岁
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
示例 1:输入:x = 123输出:321
示例 2:输入:x = -123输出:-321
示例 3:输入:x = 120输出:21
示例 4:输入:x = 0输出:0
package com.querpu;
/**
* @Description: 整数反转
* @ClassName: Demo
* @Author: 屈小鲜肉
* @Date: 2021/3/19 11:11
* @Version: 1.0
*/
public class Demo {
public static void main(String[] args) {
System.out.println(show(-120));
}
public static int show(int x){
if ( x != 0 ){
if ( x > 0){
String str = x + "";
int strNum = str.length();
StringBuilder sb = new StringBuilder(strNum);
for (int i = strNum -1; i >= 0 ;i --){
if (str.indexOf(i) != 0){
sb.append(str.charAt(i));
}
}
Integer value = null;
try {
value = Integer.valueOf(sb.toString());
} catch (NumberFormatException e) {
return 0;
}
return value;
}else {
String str = x + "";
int strNum = str.length();
StringBuilder sb = new StringBuilder(strNum);
sb.append("-");
for (int i = strNum -1; i >= 0 ;i --){
if (str.indexOf(i) != 0){
sb.append(str.charAt(i));
}
}
String substring = sb.toString().substring(0, strNum );
Integer value = null;
try {
value = Integer.valueOf(substring);
} catch (NumberFormatException e) {
e.printStackTrace();
return 0;
}
return value;
}
}
return 0 ;
}
}