palindrome number,是判断一个int的值是否是回文的,同时还要求空间复杂度为o(1),也就是不能使用什么辅助内存
最开始看到题目就想用vector,但是不行,其实解法也简单,取最前面一个,最后面一个,然后比较,比较相等就把这两位去掉,否则就直接可以return了,还是比较简单的
class Solution {
public:
bool isPalindrome(int x) {
if(x<0)
return false;
long long len = 1;
int leng = 0;
int y = x;
while(y>0)
{
leng++;
len*=10;
y/=10;
}
len/=10;
leng/=2;
for(int i = 0;i<leng;i++)
{
if(x/len!=x%10)
return false;
else
{
x = (x-x/len*len)/10;
len/=100;
}
}
return true;
}
};