输出广义表中的原子项【广义表】
时间: 1ms 内存:128M
描述:
依次输出广义表中的的第L层的为x的原子项
输入:
输入广义表
输入要输出的层数
输出:
输出该层所有原子项
示例输入:
((a),((a)),(b),(c))
3
示例输出:
a
提示:
参考答案(内存最优[752]):
#include<stdio.h>
#include<string.h>
int main()
{
int i,max,max1,n;
char a[1000];
max=max1=0;
gets(a);
scanf("%d",&n);
for(i=0;a[i]!='\0';i++)
{
if(a[i]=='(')
max++;
if(a[i]==')')
{
if(max>max1)
max1=max;
max--;
}
if(max==n&&(a[i]>='a'&&a[i]<='z'))
printf("%c ",a[i]);
}
return 0;
}
参考答案(时间最优[0]):
#include<stdio.h>
#include<string.h>
int main()
{
int i,max,max1,n;
char a[1000];
max=max1=0;
gets(a);
scanf("%d",&n);
for(i=0;a[i]!='\0';i++)
{
if(a[i]=='(')
max++;
if(a[i]==')')
{
if(max>max1)
max1=max;
max--;
}
if(max==n&&(a[i]>='a'&&a[i]<='z'))
printf("%c ",a[i]);
}
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。