7. Reverse Integer
Problem's Link
----------------------------------------------------------------------------
Mean:
将一个整数的数值位反转.
analyse:
题目没说当精度溢出时返回0.这个地方要注意一下.
Time complexity: O(N)
view code
/**
* -----------------------------------------------------------------
* Copyright (c) 2016 crazyacking.All rights reserved.
* -----------------------------------------------------------------
* Author: crazyacking
* Date : 2016-02-15-15.08
*/
#include <queue>
#include <cstdio>
#include <set>
#include <string>
#include <stack>
#include <cmath>
#include <climits>
#include <map>
#include <cstdlib>
#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long( LL);
typedef unsigned long long( ULL);
const double eps( 1e-8);
class Solution
{
public :
int reverse( int x)
{
bool isNeg( x < 0 ? 1 : 0);
int64_t xx;
if( x < 0) xx =- 1 *( int64_t) x;
else xx =( int64_t) x;
int64_t ret = 0;
while( xx)
{
int tmp = xx % 10;
xx /= 10;
ret = ret * 10 + tmp;
}
if( ret > INT_MAX)
return 0;
if( isNeg)
ret =- ret;
return ret;
}
};
int main()
{
cout << LLONG_MAX << endl;
Solution solution;
int x;
while( cin >> x)
{
cout << solution . reverse( x) << endl;
}
return 0;
}
* -----------------------------------------------------------------
* Copyright (c) 2016 crazyacking.All rights reserved.
* -----------------------------------------------------------------
* Author: crazyacking
* Date : 2016-02-15-15.08
*/
#include <queue>
#include <cstdio>
#include <set>
#include <string>
#include <stack>
#include <cmath>
#include <climits>
#include <map>
#include <cstdlib>
#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long( LL);
typedef unsigned long long( ULL);
const double eps( 1e-8);
class Solution
{
public :
int reverse( int x)
{
bool isNeg( x < 0 ? 1 : 0);
int64_t xx;
if( x < 0) xx =- 1 *( int64_t) x;
else xx =( int64_t) x;
int64_t ret = 0;
while( xx)
{
int tmp = xx % 10;
xx /= 10;
ret = ret * 10 + tmp;
}
if( ret > INT_MAX)
return 0;
if( isNeg)
ret =- ret;
return ret;
}
};
int main()
{
cout << LLONG_MAX << endl;
Solution solution;
int x;
while( cin >> x)
{
cout << solution . reverse( x) << endl;
}
return 0;
}