输出广义表中的原子项【广义表】

输出广义表中的原子项【广义表】

时间: 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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注