要求:给定一个32位有符号整数,取反。
例子:Input: 123 Output: 321
Input: -123 Output: -321
Input: 120 Output: 21
思路一:通过数字取反,首先需要判断正负
class Solution(object):def reverse(self, x):""":type x: int:rtype: int"""a=0if x<0:flag=-1else:flag=1x=abs(x)while (x>0):a = a * 10 + x % 10x/=10a=flag*areturn a if a< 2147483648 and a>-2147483648 else 0
思路二:通过字符串切片输出
class Solution(object):def reverse(self, x):""":type x: int:rtype: int"""if x<0:x = str(-x)[::-1]result = -1 * int(x)else:result = int(str(x)[::-1])return result if result< 2147483648 and result>-2147483648 else 0
tips:
字符串切片:list[start:end:step]
例如:list=[1,2,3,4,5,6,7,8,9]
list[1:3:1]='2,3'