1. 负数不算回文数
2. 我这里的做法比较简单
3. 据说还要考虑溢出,不存在的噻
4. 不喜欢下标运算,头晕
1 bool isPalindrome(int x) { 2 if(x < 0) 3 return false; 4 int base = 10; 5 char a[20]; 6 int i=0; 7 while(i < 20) { 8 9 if(x == 0) { 10 a[i] = ‘\0‘; 11 break; 12 } 13 14 int div = x%base; 15 16 x = (x-div)/base; 17 a[i] = div + ‘0‘; 18 i++; 19 } 20 a[i] = ‘\0‘; 21 printf("%s\n", a); 22 23 int j=0; 24 printf("i=%d", i); 25 bool flag = true; 26 for(j=0; j<i/2; j++) { 27 if(a[j] != a[i-1-j]) 28 return false; 29 } 30 return flag; 31 }
时间: 2024-11-10 01:13:45