【leetcode】9. Palindrome Number
问题描述:Determine whether an integer is a palindrome. Do this without extra space.
翻译:判断一个整数是否为回文序列,要求不要使用额外的存储空间。
【c++版】
class Solution {
public:
bool isPalindrome(int x) {
}
};
解题答案,步骤挺清晰的,思路也清晰:
class Solution {
public:
bool isPalindrome(int x) {
string tmp;
if(!x) return true;
else if(x < 0) return false;
// x = abs(x);
while(x)
{
tmp.append(to_string(int(x%10)));
x = x/10;
}
for(int i = 0,j = tmp.size()-1; i <= j ; i++,j--)
{
if(tmp[i] == tmp[j]) continue;
else return false;
}
return true;
}
};
此题有一个bug,就是没说清楚正负数中负数如果回文是否也返回true,如果是那种情况,注释掉的那句就可以派上用场了。
最终结果还不错, 运行效率超过72.84%