题目
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−2的31次方 , 2的31次方 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
规则示例
规则
-2的31次方 <= x <= 2的31次方 - 1
示例1:
输入:x = 123
输出:321
示例2:
输入:x = -123
输出:-321
示例3:
输入:x = 120
输出:21
示例4:
输入:x = 0
输出:0
解题分析:取余提出,除以抛弃
这道题的关键就是利用两个数学计算符号:
1.取余符号 %
2.除以符号 /
利用取余符号我们可以提取最右侧一位
利用除以符号我们可以抛弃最右侧一位
我们以 123456 为例:
从图中我们可以分析出一些关键点:
每次 % 10 可以提取出最右侧一位数字
每次 / 10 可以抛弃掉最右侧一位数组
每次有新数字要添加时让结果 * 10
当原数组 除以10后为0时,证明不需要再提取数字了
解题:取余提出,除以抛弃
总结:
该题是之前回文数字判断题目的基础版本
【唐老狮】Unity、C# 每日一题 NO.5
通过这两道题目的练习,应该对利用取余、除法来提取每位数字有深刻影响,以后遇到类似问题应该能够迎刃而解!
END