要求输入一个整数:如1001 ,判断它是否是回文数
思路:1、将整数转化成字符串
2、利用字符串索引进行前后比对str[i] == str[len(x)-i-1]
完整c语言代码如下:
#include"stdlib.h"
#include"stdio.h"
#include"string.h"
bool isPalindrome(int x);
int main(void)
{
bool a;
int x = 1001;
a = isPalindrome(x);
if(a == true)
{
printf("true");
}
else
{
printf("false");
}
return 0;
}
bool isPalindrome(int x)
{
char string[32];
int radix = 10;
sprintf(string,"%d",x);
int len = strlen(string);
int i;
int j;
for (i=0;i<len;i++)
{
j = len-i-1;
if(string[i]!= string[j])
{
return false;
}
};
return true;
}
python代码如下:
class Solution(object):
def isPalindrome(self, x):
"""
:type x: int
:rtype: bool
"""
x = str(x)
len_x = len(x);
for i in range(len_x):
j = len_x-i-1
if(x[i] != x[j]):
return False
return True
if __name__ == "__main__":
solution = Solution()
a = 110
x = solution.isPalindrome(1001)
print(x)
提交结果:C语言用时4ms,内存5.8MB,Python用时104ms,内存12.7MB