【LeetCode】【Python题解】Reverse Integer

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

click to show spoilers.

Have you thought about this?

Here are some good questions to ask before coding. Bonus points for you if you have already thought through this!

If the integer's last digit is 0, what should the output be?

ie, cases such as 10, 100.

Did you notice that the reversed integer might overflow? Assume the input is a 32-bit integer, then the reverse of 1000000003 overflows. How should you handle such cases?

Throw an exception? Good, but what if throwing an exception is not an option? You would then have to re-design the function (ie, add an extra parameter).


题目大意就是要翻转一个整数,可是提示了两点须要考虑的问题,一个是末尾是0的。另一个是翻转后会越界,用c++编可能处理起来麻烦一些,然而用Python就很easy。直接将其转成str类型来处理。并调用内置函数reverse,并且转为int时它会自己主动处理首位带的零。很easy。可是我的程序没有处理是否越界的问题。可是依旧AC


class Solution:
    # @return an integer
    def reverse(self, x):
        if x<0:
            sign = -1
        else:
            sign = 1
        strx=str(abs(x))
        r = strx[::-1]
        return sign*int(r)


原文地址:https://www.cnblogs.com/gcczhongduan/p/5352415.html