您的位置:首页 > 其它

LeetCode 简单操作 | 7. Reverse Integer

2017-03-02 11:21 447 查看
/*
* 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