题目描述
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
样例
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
算法1
投机取巧 使用 string辅助函数
C++ 代码
class Solution {
public:
//-2,147,483,648~2,147,483,647之
int reverse(int x) {
int flag = 0;
std::string s= std::to_string(x);
if(s[0] == '-'){
flag = 1;
s = s.substr(1);
}
std::reverse(s.begin(),s.end());
long long val = atoll(s.c_str());
if(flag) val = -val;
if(val >= 2147483647 || val <= -2147483648)
val = 0;
return val;
}
};