给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
这道题分别采用了python与C语言进行编写,个人感觉python更简单,C更复杂一点点。运行效率上C编写的程序明显比python更强(原因可能很大程度上是方法不一样)。
1、C语言:
bool isPalindrome(int x){
int n[20];
int i,j;
int k=x;
if (x<0){
return false;
}
for( i = 0;k!=0;i++)
{
n[i]=k%10;
k=k/10;
}
i = i-1;
for(j=0;j<=i;j++){
if (n[i] != n[j]){
return false;
}
i--;
}
return true;
}
2、python版:
class Solution(object):
def isPalindrome(self, x):
"""
:type x: int
:rtype: bool
"""
if x<0:
return False
else:
n = list(str(x))
k = list(str(x))
k.reverse()
for i in range(len(n)-1):
if n[i] != k[i]:
return False
return True
效率更低。