//给你一个 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
//
// Related Topics 数学
// 👍 2541 👎 0
/*
* 7 整数反转
* 2021-02-22 09:46:04
* @author oxygenbytes
*/
#include "leetcode.h"
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
public:
int reverse(int x) {
if(!x) return 0;
bool flag = x > 0 ? true : false;
x = abs(x);
long long int res = 0;
while(x){
res = res * 10;
res += x % 10;
x /= 10;
}
if(res > INT_MAX || res < INT_MIN) return 0;
return flag ? res : -res;
}
};
//leetcode submit region end(Prohibit modification and deletion)