给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [?231, 231 ? 1] ,就返回 0。
参考leetcode图片:
def reverse(x,y): res=0 i=0 while x != 0: t = x % y i+=1 newRes=res*10 +t; if (newRes-t)/10 !=res: return 0 res=newRes x=int(x/10) return res if __name__ == ‘__main__‘: print(reverse(-1652936,-10))
注:没写整数范围。10或者-10看整数是负数还是整数
方法二:
转换为字符串
def reverse1(x): s=str(x) if s[0] ==‘-‘: s_rev=s[0]+s[-1:-len(s):-1] else: s_rev=s[::-1] x_rev=int(s_rev) if -2 ** 31 <= x_rev <= 2 ** 31 - 1: return x_rev return 0 if __name__ == ‘__main__‘: print(reverse1(192306000))
原文:https://www.cnblogs.com/aroin/p/15268078.html