啊哈算法-解密回文-栈

栈可以通过一个下标进行读入和读出操作。栈是先进后出,后进先出。

#include<stdio.h>
#include<string.h>
int main(){
    char s[1000],s2[1000];
    int mid,top=0,len;
    gets(s);
    len=strlen(s);
    mid=len/2;
    for(int i=0;i<mid;i++) s2[++top]=s[i];//入栈
    for(int j=(len%2==0?mid:mid+1);j<len;){//出栈
        if(s[j++]!=s2[top]){
            printf("No.");
            break;
        }
        top--;//top--单独拿出来是为了防止只有两位的情况 
    }
    if(top==0) printf("Yes.");
    return 0;
}

 

posted @ 2021-12-12 17:21  m2on  阅读(9)  评论(0编辑  收藏  举报