给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)
解题思路:
1:转成字符串法
(1) 首先他是一个有符号整数(long),如果数为负,转为正,并判断数范围是否正确;
(2) 因为输入的是一个整数,我们必须把它转为字符串;
(3)把一个字符串取反,可以用容器的知识,利用for循环一个一个加进去
(4)最后判断数的范围。
代码:
2: 数学法
(1) 首先他是一个有符号整数(long),如果数为负,转为正,并判断数范围是否正确;
(2) 利用取模运算,把数全部取反;
(4) 最后判断范围;
代码: