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;
}
};