给定一个 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

posted @ 2018-05-13 20:56  Python从入门到放弃第一集  阅读(3013)  评论(0编辑  收藏  举报