栈-解回文数

学习栈好久后再拿出来复习一波,初始化栈只需要使 top=0 , 入栈的操作是top++,s[top]=x, 即s[++top]=x。

内容

栈是一种后进先出的数据结构。栈限定为只能在一端进行插入和删除操作。比如说一个小桶,小桶的直径只能放一个小球,我们现在在小桶内一次放入2、1、3号小球。假如你现在需要拿出2号小球,那就必须先将3号小球拿出,再拿出1号小球,最后才能将2号小球拿出来。

题目-解回文数

#include<stdio.h>
#include<string.h>
int flag;
int main()
{
    
    
	char a[101],s[101];
	int len,mid,top=0;
	scanf("%s",a);
	len=strlen(a);
	mid=len/2;  //5/2=2  6/2=3   0,1,2,3,4
	for(int i=0;i<=mid-1;i++){
    
    
		s[++top]=a[i];
	}	
	if(len%2){
    
      //如果是奇数
		mid++;
	}
	for(int i=mid;i<len;i++){
    
    
		if(s[top]!=a[i]){
    
    
			break;
		}
		top--;
	}
	if(top==0)	printf("YES");
	else	printf("NO");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_45735298/article/details/108134296