2-2 解密回文
用栈来判断字符串是否是回文,即左右完全对称
C实现 数组实现的栈操作
#include<stdio.h>
int main()
{
char a[101],s[101];
int i,len,mid,next,top=0;
gets(a); //输入一个字符串到字符数组a
len = strlen(a);
mid =len/2;
for(i=0;i<mid;i++)
s[++top]=a[i];
if(len%2==0)
next=mid;
else
next=mid+1;
for(i=next;i<=len-1;i++)
{
if(a[i]!=s[top])
break;
top--;
}
if(top==0)
printf("YES");
else
printf("NO");
return 0;
}
python实现 list实现栈操作
#解密回文
def dec_pal(lists):
top=0
s=[0]*20
n=len(lists)
mid=n//2
for i in range(mid):
top+=1
s[top]=lists[i]
if n%2==0:
next=mid
else:
next=mid+1
for j in range(mid+1,n):
if lists[j]!=s[top]:
break
top-=1
if top==0:
print('YES')
else:
print('NO')
if __name__=='__main__':
list =input('intput elements:').strip().split()
dec_pal(list)