题目描述
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例1:
输入: 123
输出: 321
示例2:
输入: -123
输出: -321
示例3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
算法
先将输入的整数转换为str类型,反转后再转换回int类型,但是其中涉及到有负数的情况,需要反转其整数部分,所以将输入的数分为2种情况。并且如果反转后整数溢出那么就返回0,所以将输出的数也分为2种情况。
输入的数:
-
输入的整数>=0:转换为字符串类型反转后再转换回整数类型
-
输入的整数<0:转换为字符串类型反转的时候仅转换数字不转换负号,转换回整数类型的时候再添加上负号
输出的数:
-
输出的数 < −231 or输出的数 > 231 – 1 return 0
-
−231 < 输出的数 < 231 – 1 return输出的数
考点
-
abs取绝对值
-
int和str类型互转
-
str倒序输出