1、整数反转
例如:
input:123
output:321
input:-123
output:-321
class Solution {
public:
int reverse(int x) {
long temp = 0;
int max = 0x7fffffff;
int min = 0x80000000;
for(;x;temp = temp*10+x%10,x/=10);
return temp>max||temp<min?0:temp;
}
};
话说这个不是原创,看到的C语言执行效率最高的
2、回文数
例如:
input:12321 output:true input:-121 output:false
class Solution {
public:
bool isPalindrome(int x) {
if(x >= 0 && x < 0x7fffffff)
{
int temp = 0;
int y = x;
while(x > 0)
{
temp = temp *10 + x%10;
x/=10;
}
if (temp == y)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
};
这个倒是原创的执行效率还可以,参考一下就行
以上两个简单问题解决方法比较相似都是将数据翻转