LeetCode第二天

今天完成了easy题目的第二个,Reverse Integer。

这个题因为不限制空间,直接把32位int传换成string,直接对str进行操作就行。strX[::-1]就是取倒序,需要注意的是,题目中有说明,当倒序数值超过32位表示范围后,返回0即可。

class Solution:
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        strX = str(x)
        if not strX[:1] == '-':
            if 1 - 2**31 < int(strX[::-1]) < 2**31 - 1:
                return int(strX[::-1])
            else:
                return 0
        else:
            length = len(strX)
            if 1 - 2**31 < -int(strX[::-1][:length-1]) < 2**31 - 1:
                return -int(strX[::-1][:length-1])
            else:
                return 0

当然我觉得这个比较正负的判断还是可以简化的。

posted @ 2018-02-28 21:16  Vancuicide  阅读(116)  评论(0编辑  收藏  举报