@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)

相关文章:

  • 2021-08-01
  • 2022-01-20
  • 2021-12-03
  • 2021-11-25
  • 2022-02-01
  • 2021-11-21
  • 2022-02-13
  • 2022-12-23
猜你喜欢
  • 2021-12-25
  • 2021-08-25
  • 2021-07-29
  • 2021-09-01
  • 2022-12-23
  • 2021-06-25
相关资源
相似解决方案