Leetcode题库——7.反转整数


@author: ZZQ
@software: PyCharm
@file: IntReverse.py
@time: 2018/9/16 16:36
要求:整数反转(给定一个 32 位有符号整数,将整数中的数字进行反转)
e.g.: 输入: 123 输出: 321
输入: -123 输出: -321
输入: 120 输出: 21
【假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1]。
根据这个假设,如果反转后的整数溢出,则返回 0。】
需考虑:反转以后数组越界问题

import math

def main(x):
    m = 0
    if x > 0:
        n = x
        flag = 1
    else:
        n = -x
        flag = -1
    while n > 0:
        m = m * 10 + n % 10
        n = n / 10
        # print m, n
    m = m * flag
    if m > (math.pow(2, 31)-1):
        return 0
    if m < - math.pow(2, 31):
        return 0
    return m


if __name__ == "__main__":
    n = 123456789
    print main(n)

    n = -123
    print main(n)
posted @ 2018-09-18 20:47  恩zzq我是  阅读(208)  评论(0编辑  收藏  举报