判断回文
所谓回文字符串就是指正读反读均相同的字符串序列,如“aba”,“abba”,"xyzyx"等,用数组模拟栈实现是否回文的判断。(中文字符串除外)
// An highlighted block
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
void main()
{
char a[101], s[101];
int i, len, mid, next, top;
while(1)
{
cin >> a;
len = strlen(a);
if (len % 2 != 0)
{
mid = len / 2;
next = mid + 1;
}
else
{
mid = len / 2 - 1;
next = mid + 2;
}
top = -1;
for (i = 0; i < mid; i++)
{
s[++top] = a[i];
}
for (i = next; i < len; i++)
{
if (a[i] == s[top])
{
--top;
}
else
{
break;
}
}
if (-1 == top)
{
cout << "Yes" << endl;
}
else
{
cout << "No" << endl;
}
}
}