Reverse Integer

来源:互联网 发布:java anti csrf token 编辑:程序博客网 时间:2024/06/06 05:37

本题不难,主要是为了练习用python。
1、首先分离x各个位上的数
2、将分离的各个位的数按照要求重新组成一个新数,即逆序数
3、判断是否超出32位数的范围,然后按照要求进行输出即可
完整代码如下:

class Solution(object):    def reverse(self, x):        """        :type x: int        :rtype: int        """        maxInt = 2147483647  # 32位整数最大值        minInt = -2147483648 #32位整数最小值        reserve = []        flag = 1  # flag为1代表x为正数,flag为-1代表x为负数        if x < 0:            x = -x            flag = -1        while x > 0:   #  分离x各个位上的数            reserve.append(x%10)            x = x/10        index,s= 0,0  #index为下标,s为逆转之后的数        while index < len(reserve):            s = s*10+reserve[index]            index = index + 1        if flag == -1:     #如果x为负数则将s取负            s = -s        if s>=maxInt or s<=minInt:  #判断逆转之后的数是否超出32位整数的范围,超出则返回0            return  0        return s  #没有超出,则返回s
原创粉丝点击