leetcode07 Reverse Integer 反转整形

xiaoxiao2021-02-28  103

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.

反转整形,但是注意不能超过32位int的最大值,如果溢出返回0。

我的解法

class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ if x >= 0: a = [val for val in str(x)] string = '' for i in range(len(a))[::-1]: string += a[i] if int(string) > 2147483647: return 0 else: return int(string) else: a = [val for val in str(x)[1:]] string = '' for i in range(len(a))[::-1]: string += a[i] if int(string) > 2147483647: return 0 else: return 0-int(string) 别人的解法:

def reverse(x): s = cmp(x, 0) r = int(`s * x`[::-1]) print s,r return s * r * (r < 2 ** 31)

转载请注明原文地址: https://www.6miu.com/read-50871.html

最新回复(0)