如何做网站广告图片,wordpress文章密码插件,有关学校网站建设策划书,wordpress 附件 文件夹题目#xff1a;
给你一个 32 位的有符号整数 x #xff0c;返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] #xff0c;就返回 0。
假设环境不允许存储 64 位整数#xff08;有符号或无符号#xff09;。 示例 …题目
给你一个 32 位的有符号整数 x 返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] 就返回 0。
假设环境不允许存储 64 位整数有符号或无符号。 示例 1
输入x 123
输出321示例 2
输入x -123
输出-321示例 3
输入x 120
输出21示例 4
输入x 0
输出0
思路
题目很简单一个简单的数字反转问题关键问题在于32位的溢出管理首先我们要知道32位整数的最大值和最小值最大值为2147483647最小值为-2147483648所以我们只需要在算的时候往里面算最后判断这个数是不是超出范围即可。
代码实现
int reverse(int x){int num0;while(x/10){numx%10num*10;x/10;}if(numINT_MAX/10||(numINT_MAX/10(x7))){return 0;}else if(numINT_MIN/10||(numINT_MIN/10(x-8))){return 0;}else{return num*10x;}
}