Determine whether an integer is a palindrome. Do this without extra space.
题目要求判断一个数是否是回文,不能开辟额外空间。
方法1:由于不能开辟额外空间,所以我们不能采用把每一位数字求出来放到一个数组中来判断是否是回文的方法。我们可以把这个数倒过来看看是否和原来的数相等,来判断是否是回文。注意两个问题:1、负数不是回文。2、将原来的数转置之后求的数可能会越界,所以要设置成long类型。
class Solution {
public:
bool isPalindrome(int x) {
if(x<0)
return false;
int duplicate=x;
long a=0;
while(x>0)
{
a=a*10+x%10;
x/=10;
}
return a==duplicate;
}
};
照顾好自己的身体,控制好自己的情绪,加油!
以上就是关关关于这道题的总结经验,希望大家能够理解,有什么问题可以在我们的专知公众号平台上交流或者加我们的QQ专知-人工智能交流群 426491390,也可以加入专知——Leetcode刷题交流群(请先加微信小助手weixinhao: Rancho_Fang)。 同时请,关注我们的公众号,获取最新关于专知以及人工智能的资讯、技术、算法等内容。扫一扫下方关注我们的微信公众号。