[leetcode:python]7.Reverse Integer

来源:互联网 发布:2017淘宝查的太严了吧 编辑:程序博客网 时间:2024/05/17 19:56

题目:
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位带符号整数。溢出时返回0

方法一:性能55ms

class Solution:    # @param {int} n the integer to be reversed    # @return {int} the reversed integer    def reverse(self, x):        # Write your code here        n = abs(x)        s = str(n)        a = []        m = ''        for i in range(len(s)):            a.append(s[i])        la=len(a)        if x < 0:            m += '-'        while la>0:            m += a.pop()            la -= 1        x = int(m)        if abs(x) > 2**31:            return 0        else:            return x

方法二:性能45ms

class Solution:    def reverse(self, x):        a = 1        if x < 0:            a = -1            x = -x        res = 0        while x > 0:            res = res * 10 + x % 10            x = x / 10        if abs(res) > 0x7FFFFFFF:            return 0        return res*a
0 0