题意:
emmmm....感觉这一题真的很简单,但是我一开始就是没有把他转换成字符串的,这样的话我就先放转换成字符串的代码...无论如何有答案就是啦,总归是记录一下,虽然不知道是不是最优QAQ:
代码如下:
转换成字符串
class Solution {
public:
bool isPalindrome(int x) {
string str;
str=to_string(x);
int n=str.size(),num=0;
for(int i=0;i<n/2;i++){
if(str[i]!=str[n-1-i])
return false;
}
return true;
}
};
然后是不转换成字符串:
class Solution {
public:
bool isPalindrome(int x) {
int num=0;
int temp=x;
if(x<0) return false;
while(x!=0){
num=num*10+x%10;
x=x/10;
}
if(temp==num) return true;
return false;
}
};
Python代码:
转换成字符串的:
class Solution:
def isPalindrome(self, x):
"""
:type x: int
:rtype: bool
"""
num=0
if(x<0):return False
if int(str(x))==int(str(x)[::-1]):
return True
return False
不转换成字符串的:
class Solution:
def isPalindrome(self, x):
"""
:type x: int
:rtype: bool
"""
num=0
temp=x
if x<0: return False
while x!=0:
num=num*10+x%10
x=x//10
if temp==num:return True
return False