电商平台网站制作,gofair做网站,凡科网站建设好,海外品牌推广7. 整数反转
题目描述
给你一个 32 位的有符号整数 x #xff0c;返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] #xff0c;就返回 0。
假设环境不允许存储 64 位整数#xff08;有符号或无符号#xff09;。
…7. 整数反转
题目描述
给你一个 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 提示
-231 x 231 - 1
解题方法
C
int reverse(int x) {int res 0;while (x ! 0) {if (res INT_MAX / 10 || res INT_MIN / 10) {return 0; // 防止溢出}int rem x % 10; // 求 x 最低位数字res res * 10 rem; // 添加到 res 中x x / 10;}return res;
}复杂度分析 时间复杂度为 O(log∣x∣)翻转的次数即 x 十进制的位数。 空间复杂度为 O(1)。