力扣7.整数反转(溢出判断)
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
示例 1:
输入:x = 123 输出:321
示例 2:
输入:x = -123 输出:-321
示例 3:
输入:x = 120 输出:21
示例 4:
输入:x = 0 输出:0
提示:
-231 <= x <= 231 - 1
题目的关键是考虑如何判断溢出,个人没有太简便的办法,代码参考了题解中的溢出判断。
1 class Solution { 2 public: 3 int reverse(int x) { 4 int n=x; 5 int result=0; 6 while (n!=0) 7 { 8 if(result>INT32_MAX/10||result<INT32_MIN/10) 9 return 0; 10 result=result*10+n%10; 11 n/=10; 12 } 13 return result; 14 15 } 16 };
浙公网安备 33010602011771号