题目:
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
案例:
输入:x = 123
输出:321
输入:x = 120
输出:21
思路:
通过每次弹出个位数,个位数乘10,进阶十位数,百位数,达到反转数字的效果,其中还有一个坑就是,不能超过32位数,通过创建一个long类型变量后,最后转换为int类型,因为long类型长度为8个字节,int类型长度为4个字节,也就是32位,当高精度类型转换为低精度类型的时候,就会损失精度,最后判断一下(int) n == n ? (int) n : 0; 如果不相等则返回0即可,优雅永不过时~
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容