publicintreverse(int x){ //1.整数转字符串 String str = "" + x; char[] s = str.toCharArray(); //2.字符串的反转 int n = s.length; for(int i = 0; i < n/2; i++){ char temp = s[i]; s[i] = s[n-i-1]; s[n-i-1] = temp; } //3.字符串转整数 //Integer result = Integer.valueOf(String.valueOf(array)); long value = Long.valueOf(String.valueOf(array)); boolean b = value > Integer.MAX_VALUE || value < Integer.MIN_VALUE; int result = b ? 0 : (int)value; return result; }
publicintreverse(int x){ //极值筛掉 if(x == Integer.MAX_VALUE || x == Integer.MIN_VALUE){ return0; } //符号处理 int sign = x > 0 ? 1 : -1; x = x < 0 ? x * -1 : x; //1.整数转字符串 String str = "" + x; char[] s = str.toCharArray(); //2.字符串的反转 int n = s.length; for(int i = 0; i < n/2; i++){ char temp = s[i]; s[i] = s[n-i-1]; s[n-i-1] = temp; } //3.字符串转整数 //Integer result = Integer.valueOf(String.valueOf(array)); long value = Long.valueOf(String.valueOf(s)); boolean b = value > Integer.MAX_VALUE || value < Integer.MIN_VALUE; int result = b ? 0 : (int)value; //加上符号 return result * sign; }
publicintreverse(int x){ //极值筛掉 if(x == Integer.MAX_VALUE || x == Integer.MIN_VALUE){ return0; } int result = 0;//返回结果 int last = 0;//末位 while((last = x % 10) != x){ result = result * 10 + last; x /= 10; } //添加最后一位判断溢出 long value = result; value = value * 10 + last; if(value > Integer.MAX_VALUE || value < Integer.MIN_VALUE){ return0; }else{ result = (int)value; } return result; }