/*
* Leetcode7. Reverse Integer
* Funtion: Reverse digits of an integer.
* Example: x = 123, return 321
x = -123, return -321
* Note:The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
* Author: LKJ
* Date: 2017/2/28
* Hint:
*/
#include <iostream>
#include <vector>
#include <string>
#include <cmath>
#include <algorithm>
using namespace std;
class Solution {
public:
int reverse(int x) {
int sign = 0;
if(x < 0) {sign = 1;x =-x;}
uint32_t y = 0;
int z;
while(x){
if((y > 214748364)) return 0;
y = y*10;
y = y + (x%10);
if((y > 2147483647)) return 0;
x= x/10;
}
if(sign == 1) z = -(int)y;
else z = (int)y;
return z;
}
};
/*
public int reverse(int x)
{
int result = 0;
while (x != 0)
{
int tail = x % 10;
int newResult = result * 10 + tail;
if ((newResult - tail) / 10 != result) //good
{ return 0; }
result = newResult;
x = x / 10;
}
return result;
}
*/
int main(){
int myin = 1534236469;
int myout;
Solution SA;
myout = SA.reverse(myin);
cout << myout << endl;
return 0;
}
LeetCode 简单操作 | 7. Reverse Integer
最新推荐文章于 2023-12-27 09:54:40 发布