样例包括错误的第一个点devc++答案正确,线上均不通过
查看原帖
样例包括错误的第一个点devc++答案正确,线上均不通过
213454
HEU_ZWZ楼主2024/3/10 00:13
#include<stdio.h>
#include<stdlib.h>
typedef struct node//节点 
{
	struct node *left;
	char cl;
	char a;
	char cr;
	struct node *right;
}Node;
void check2(Node *p)//前序 
{
	printf("%c",p->a);
	if(p->left!=NULL)
	check2(p->left);
	if(p->right!=NULL)
	check2(p->right);
	return;
}
int main()
{
	int n=0;
	scanf("%d",&n);
	Node *a[n];
	for(int i=0;i<n;i++)
	{
		char c[3];
		scanf("%s",&c);
		Node *p=(Node *)malloc(sizeof(Node));
		p->a=c[0],p->cl=c[1],p->cr=c[2];
		a[i]=p;
	}//储存所有节点 
	for(int i=0;i<n;i++)
	{
		Node *p=a[i];
		if(p->cl=='*')
		{
			p->left=NULL;
		}
		if(p->cr=='*')
		{
			p->right=NULL;
		}
		for(int j=0;j<n;j++)
		{
			if(p->cl==a[j]->a)
			{
				p->left=a[j];
			}
			if(p->cr==a[j]->a)
			{
				p->right=a[j];
			}
		}
	}//构建二叉树 
	check2(a[0]);//前序遍历 
	return 0;
 } 

如题

2024/3/10 00:13
加载中...