아래 첨자 조작을 사용하지 않고 문자열 회문 판단을 실현하다
1128 단어 회문판단
#include <iostream>
#include <string>
/* judging a string is a palindrome or not*/
int judge_palindrome(const char* str=NULL)
{
if (str==NULL)
{
return -1;
}
char* p2str_front=const_cast<char*>(str);//data type adapt
char* p2str_back=const_cast<char*>(str);
while (*p2str_back++!='\0'){}
p2str_back-=2;
while (p2str_back > p2str_front)
{
if (*p2str_back!=*p2str_front)
{
puts("not palindrome
");
return 0;
}
p2str_front++;
p2str_back--;
}
puts("is palindrome
");
return 1;
}
int main(void)
{
char* p2char = "abcba";
std::cout<<judge_palindrome(p2char)<<std::endl;
system("pause");
return 0;
}