正文
【leetcode】7. Reverse Integer
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
题目描述:
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
解题思路:
这道题比较简单,只要注意两个问题:1,输入可能有123,-123两种情况。2,可能会出现值溢出的情况,所以先用long类型处理,决定没有溢出后再转换为int
具体代码:
public static int reverse(int x) {
String s =""+x;
char[] array=s.toCharArray();
if(array[0]=='-'){
reverse(array,1);
Long num=Long.valueOf(new String(array));
if(num<Integer.MIN_VALUE){
return 0;
}
return Integer.valueOf(new String(array)); }
else{
reverse(array,0);
Long num=Long.valueOf(new String(array));
if(num>Integer.MAX_VALUE){
return 0;
}
return Integer.valueOf(new String(array));
} }
public static void reverse(char[] array,int from){
int to = array.length-1;
while(from<to){
char ch=array[from];
array[from]=array[to];
array[to]=ch;
from++;
to--;
}
}