您的位置:首页 > 其它

leetcode 9:Palindrome Number

2016-09-01 00:34 323 查看
题目:

Determine whether an integer is a palindrome. Do this without extra space.

想法:

题目说不能有额外的空间,其实意思是空间是O(1)的。所以不能将int类型转换为string类型再判断。我们的方案是每次首尾比较用div控制,还有就是负数不是回文数。

解答:

class Solution {
public:
bool isPalindrome(int x) {
if (x < 0)
return false;
int div = 1;
while(x/div >= 10){
div *= 10;
}
while(x){
int l = x / div;
int r = x % 10;
if (l != r)
return false;
x = (x % div) / 10;
div /= 100;
}
return true;
}

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode