目录
题目
解法一:转字符串+双指针
class Solution
{
public:
bool isPalindrome(int x)
{
string str{to_string(x)};
int first{0}, second{static_cast<int>(str.size()) - 1};
while (first < second)
{
if (str[first++] != str[second--])
{
return false;
}
}
return true;
}
};
解法二:反转一半数字
class Solution
{
public:
bool isPalindrome(int x)
{
if (x < 0 || (!(x % 10) && x))
{
return false;
}
int y{};
while(x > y)
{
y *= 10;
y += x % 10;
x /= 10;
}
if (x != y && x != y / 10)
{
return false;
}
return true;
}
};