【数据结构】 栈和队列 YTU 2241: 相同序列(栈和队列)

来源:互联网 发布:笑傲江湖知乎 编辑:程序博客网 时间:2024/05/29 03:12

题目描述

   试写一个算法,识别依次读入的一个以@为结束符的字符序列是否为形如‘序列1&序列2’模式的字符序列。其中序列1和序列2中都不含字符‘&’,且序列2是序列1的逆序列。输出YES或者NO。

输入

a+b&b+a

输出

YES

样例输入

1+3&3-1

样例输出

NO

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
   char s[101],t[101],k;
   int i=0,len,mid,top;
   int flag=1;
   int j;
   while(cin>>k)
   {
  if(k=='@')
  break;
  s[i++]=k;
   }
   len=i;
   mid=len/2;
   if(s[mid]!='&')
  flag=0;
   else
   {
  top=0;
  for(i=0,j=len-1;i!=j;i++,j--)
  {
  if(s[i]!=s[j])
  {
  flag=0;
  break;
  }
  }
   }
   if(flag)
 cout<<"YES"<<endl;
   else
 cout<<"NO"<<endl;
}


[提交][状态][讨论
0 0