给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
1 public int reverse(int x) { 2 boolean sign = false; 3 long y = (long)x; 4 if(y>=0) { 5 sign = true; 6 } else { 7 y = -y; 8 } 9 StringBuffer s = new StringBuffer(String.valueOf(y)); 10 String ss = s.reverse().toString(); 11 y = Long.parseLong(ss); 12 13 if(sign){ 14 if(y>Integer.MAX_VALUE) 15 return 0; 16 else 17 return (int)y; 18 }else { 19 y*=-1; 20 if(y<Integer.MIN_VALUE) 21 return 0; 22 else 23 return (int)y; 24 } 25 }
取符号,转字符,翻转,转int
原文:https://www.cnblogs.com/boboboo610/p/13197806.html