給你一個 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))