Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
1 int reverse(int x) { 2 long int res = 0; 3 int y=x>0?x:-x; 4 while(y != 0){ 5 res = res*10 + y%10; 6 y = y/10; 7 } 8 res = x>0?res:-res; 9 if(res > INT_MAX || res < INT_MIN) 10 return 0; 11 return res; 12 }
注意res要设为long int
取一个数的个位用%
去掉一个数的个位用/
INT_MAX
INT_MIN
1 class Solution(object): 2 def reverse(self, x): 3 """ 4 :type x: int 5 :rtype: int 6 """ 7 s = str(x) 8 if s[0] == '-': 9 res = int('-' + s[1:][::-1]) 10 else: 11 res = int(s[::-1]) 12 if -2147483648 <= res <= 2147483647: 13 return res 14 else: 15 return 0
str()把任意表达转换为字符串
s[::-1]将字符串倒过来
浙公网安备 33010602011771号