求助,关于顺序栈判断回文字符串的问题,请指教
已知顺序栈的结构为:#define N 100
struct {
char data [N];
int top;
} s ;
利用顺序栈的基本操作(设push (s, x)和pop (s)函数已存在,pop (s)函数返回栈顶元素),设计一个算法如下,判断一个字符串是否具有中心对称(即构成回文),若是则返回1,否则返回0。如:
ababbaba、abcba都是中心对称的字符串。填空完成算法。
int symmetry (char str [ ])
{ int i, j, k;
i=strlen (str);
for (j=0; j<i/2; j++)
push(s,str[j]); ①
if ( i % 2 ! = 0 )
k= ( i+1) /2
else
k=i/2;
for (j=k; j<i; j ++)
if( str[j]!=pop(s) ) return 0; ②
return 1;
}
其中①、②是填空,现根据答案已填上。问题是:哪位大神能给详细解释一下②?