31 lines
527 B
C
31 lines
527 B
C
#include <ctype.h>
|
|
|
|
int palindrome(const char *str, unsigned len) {
|
|
const char *start = str;
|
|
const char *end = str + len - 1;
|
|
|
|
while(start < end) {
|
|
if(!isalpha(*start)) {
|
|
start += 1;
|
|
} else if(!isalpha(*end)) {
|
|
end -= 1;
|
|
} else if(tolower(*start) == tolower(*end)) {
|
|
start += 1;
|
|
end -= 1;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
#include <string.h>
|
|
|
|
int main(int argc, char **argv) {
|
|
if(argc < 2) {
|
|
return 2;
|
|
}
|
|
|
|
return !palindrome(argv[1], strlen(argv[1]));
|
|
}
|