所谓回文就是:把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的,叫做回文,也叫回环。 这是个字符型栈,函数的参数是接收一串字符,如果是回文就返回0,否则返回-1 int Ifpalindrom(char* pchTxt) { if (pchTxt != NULL) { //初始化数据 int nlength = strlen(pchTxt)/2; char* pTemp = NULL; CStack* pStack = new CStack; int i = 0; //将字符串一半的数据压入栈中 while(i<nlength) { pStack->Push(*(pchTxt+i)); i++; } //依次弹出栈中数据跟字符串中间往后的字符比较 if(strlen(pchTxt)%2 == 0)//判断是否为偶个数 pTemp = pchTxt+nlength; else pTemp = pchTxt+nlength+1; i=0; while(pStack->Empty()) { char ch; pStack->Pop(ch); if (ch != *pTemp++) { return -1; } } delete pStack; } return 0; }