> 文档中心 > 成长随心记17(判断字符串回文)(栈)

成长随心记17(判断字符串回文)(栈)

#include int main(){stack s;string str = "aaa";int sz = str.size() % 2;//判断是奇数个还是偶数个int mid = str.size() / 2;//找出中间位置if (sz == 0) {//如果是偶数个for (int i = 0; i < mid; i++) {s.push(str.at(i));//将前一半字符入栈}for (int i = 0; i < mid; i++) {//依次出栈与后一半对比if (s.top() != str[mid + i])break;s.pop();}if (s.empty())cout << "是回文" << endl;elsecout << "不是回文" << endl;}else {//如果是奇数个for (int i = 0; i < mid; i++) {s.push(str.at(i));}for (int i = 1; i <= mid; i++) {//跳过中间一个if (s.top() != str[mid + i])break;s.pop();}if (s.empty())cout << "是回文" << endl;elsecout << "不是回文" << endl;}}