leetcode——Reverse Integer 反转整数数字(AC)
2014-06-06 23:09
603 查看
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
这个题比较简单,考虑特殊情况如12000,注意检查反转后数字是否会越界溢出。代码如下:
class Solution {
public:
int reverse(int x) {
bool minus = false;
short int splitNum[10];
int i = 0, j = 0;
unsigned int num, result = 0;
unsigned int MAX = 2147483647;
unsigned int MIN = 2147483648;
if(x < 0)
{
num = 0 - x;
minus = true;
}
else
{
num = x;
}
while(num != 0)
{
splitNum[i++] = num%10;
num = num/10;
}
while(splitNum[j] == 0)
j++;
while(j < i)
{
if(!minus && (MAX-splitNum[j])/10 >= result)
{
result = result*10 + splitNum[j];
j++;
}
else if(minus && (MIN-splitNum[j])/10 >= result)
{
result = result*10 + splitNum[j];
j++;
}
else
{
return 0;
}
}
return minus ? (0-result) : result;
}
};
Example1: x = 123, return 321
Example2: x = -123, return -321
这个题比较简单,考虑特殊情况如12000,注意检查反转后数字是否会越界溢出。代码如下:
class Solution {
public:
int reverse(int x) {
bool minus = false;
short int splitNum[10];
int i = 0, j = 0;
unsigned int num, result = 0;
unsigned int MAX = 2147483647;
unsigned int MIN = 2147483648;
if(x < 0)
{
num = 0 - x;
minus = true;
}
else
{
num = x;
}
while(num != 0)
{
splitNum[i++] = num%10;
num = num/10;
}
while(splitNum[j] == 0)
j++;
while(j < i)
{
if(!minus && (MAX-splitNum[j])/10 >= result)
{
result = result*10 + splitNum[j];
j++;
}
else if(minus && (MIN-splitNum[j])/10 >= result)
{
result = result*10 + splitNum[j];
j++;
}
else
{
return 0;
}
}
return minus ? (0-result) : result;
}
};
相关文章推荐
- 【leetcode】Reverse Integer整数反转----Java代码实现
- LeetCode Reverse Integer 反转整数
- [置顶] [LeetCode] Reverse Integer 整数反转
- [leetcode 7] Reverse Integer(整数反转) c函数实现
- [leetcode] Reverse Integer 反转一个整数
- LeetCode 7 :Reverse Integer ---- 反转int整数
- LeetCode 7 Reverse Integer(反转数字)
- Leetcode:Reverse Integer ,整数反转
- (LeetCode)Reverse Integer --- 反转整数
- [Leetcode] reverse integer 反转整数
- LeetCode--Reverse Integer(整数反转)Python
- leetcode reverse Integer(反转整数)
- [LeetCode-7] Reverse Integer(反转整数)
- Leetcode Reverse Integer 反转整数
- Leetcode 7 Reverse Integer 反转数字
- leetcode:Reverse Integer(反转数字)【算法面试题】
- 【LeetCode】- Reverse Integer(将一个整数反转)
- leetcode_7. Reverse Integer 反转整数的各个数字
- LeetCode7——Reverse Integer(将一个整数反转,注意溢出的处理)
- Leetcode 07 Reverse Integer(数字反转) && 09 Palindrome number(回文判断)