如何实现“负数”的反转呢?比如:-123转成-321,首先提供一个思路,首先使用一个标记来判断传入的实参是正数还是负数?然后将得出的判断的结果先取绝对值,最后转成字符串进行切片反转。得出的结果,最后恢复成整数。
# -*- coding: utf-8 -*- """ Spyder Editor This is a temporary script file. """ class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ # 定义用来标记给定整数x的正负情况,若x>=0, 则flag=1;反之,则flag=-1 flag = 1 if x >= 0: flag = 1 else: flag = -1 #不论x的正负,先将x取绝对值 abs_x = abs(x) # 将abs(x)变成字符串 x_str = str(abs_x) # 将字符串x_str反转 reverse_x_str = x_str[::-1] # 最后恢复成整数 reverse_x_int = int(reverse_x_str) * flag if -2 ** 31 <= reverse_x_int <= 2**31 - 1: print (reverse_x_int) else: return 0 Solution.reverse(1,-123)
这样就实现了负数的反转
标签:Python,反转,负数,int,flag,abs,str From: https://www.cnblogs.com/wzhqzm/p/17157590.html