#include <iostream>
using namespace std;
int compare(const char* string1, const char* string2)
{
if(string1 == NULL || string2 == NULL)
return 0;
// This needs to go here
if(*string1 == '\0' && *string2 == '\0')
return 1;
std::cout << *string1 << " | " << *string2 << std::endl;
if((!isalpha(*string1) && *string1 != ' ') && (!isalpha(*string2) && *string2 != ' '))
{
return compare(++string1,++string2);
}
else if(!isalpha(*string1) && *string1 != ' ')
{
return compare(++string1,string2);
}
else if(!isalpha(*string2) && *string2 != ' ')
{
return compare(string1, ++string2);
}
if(tolower(*string1) != tolower(*string2))
return 0;
if(*string1 == *string2)
return compare(++string1, ++string2);
}
int main() {
cout << compare("a !!!b", "a b");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGNvbXBhcmUoY29uc3QgY2hhciogc3RyaW5nMSwgY29uc3QgY2hhciogc3RyaW5nMikKewoJaWYoc3RyaW5nMSA9PSBOVUxMIHx8IHN0cmluZzIgPT0gTlVMTCkKCQlyZXR1cm4gMDsKCgkvLyBUaGlzIG5lZWRzIHRvIGdvIGhlcmUKICAgIGlmKCpzdHJpbmcxID09ICdcMCcgJiYgKnN0cmluZzIgPT0gJ1wwJykKICAgICAgICByZXR1cm4gMTsKICAgIAogICBzdGQ6OmNvdXQgPDwgKnN0cmluZzEgPDwgIiB8ICIgPDwgKnN0cmluZzIgPDwgc3RkOjplbmRsOwogICBpZigoIWlzYWxwaGEoKnN0cmluZzEpICYmICpzdHJpbmcxICE9ICcgJykgJiYgKCFpc2FscGhhKCpzdHJpbmcyKSAmJiAqc3RyaW5nMiAhPSAnICcpKQogICAgewogICAgICByZXR1cm4gY29tcGFyZSgrK3N0cmluZzEsKytzdHJpbmcyKTsKICAgIH0KICAgZWxzZSBpZighaXNhbHBoYSgqc3RyaW5nMSkgJiYgKnN0cmluZzEgIT0gJyAnKQogICAgewogICAgICByZXR1cm4gY29tcGFyZSgrK3N0cmluZzEsc3RyaW5nMik7CiAgICB9CiAgIGVsc2UgaWYoIWlzYWxwaGEoKnN0cmluZzIpICYmICpzdHJpbmcyICE9ICcgJykKICAgIHsKICAgICByZXR1cm4gY29tcGFyZShzdHJpbmcxLCArK3N0cmluZzIpOwogICAgfQoKICBpZih0b2xvd2VyKCpzdHJpbmcxKSAhPSB0b2xvd2VyKCpzdHJpbmcyKSkKICAgIHJldHVybiAwOwogIGlmKCpzdHJpbmcxID09ICpzdHJpbmcyKQogICAgcmV0dXJuIGNvbXBhcmUoKytzdHJpbmcxLCArK3N0cmluZzIpOwp9CgppbnQgbWFpbigpIHsKCWNvdXQgPDwgY29tcGFyZSgiYSAhISFiIiwgImEgYiIpOwoJcmV0dXJuIDA7Cn0=