给定一个 32 位有符号整数,将整数中的数字进行反转。

def reverse(x):
  if x>0:
    a=list(reversed(list(str(x))))
    if a[0]=='0':
      b=int(''.join(a[1:]))
      if b<pow(-2,31) or b>pow(2,31)-1:
        return 0
      else:
        return b
    else:
      b=int(''.join(a))
      if b<pow(-2,31) or b>pow(2,31)-1:
        return 0
    else:
      return b
  elif x<0:
    a = list(reversed(list(str(x)[1:])))
    if a[0]=='0':
      b=int(''.join(['-']+a[1:]))
      if b<pow(-2,31) or b>pow(2,31)-1:
        return 0
      else:
        return b
    else:
      b=int(''.join(['-']+a))
      if b < pow(-2, 31) or b > pow(2, 31) - 1:
        return 0
      else:
        return b
  else:
    return 0

猜你喜欢

转载自www.cnblogs.com/zhangtianxia/p/9033297.html
今日推荐