7-3 树的同构 (25 分)
树的同构:这道题主要是能够读懂题意,给的数据中左右子树的编号是你输入数据时的编号,
例如:
A 1 2
他的意思是:
A的左子树是输入的编号为1的数据(就是输入的第二组数据)
A的右子树是输入的编号为2的数据(就是输入的第三组数据)
以此类推。。。
我不知道为什么在我电脑的编译器上sample 1 可以正确的输出Yes,但是上交PTA就显示答案错误。
希望有看到的小伙伴能帮我看一下吧。
现已解决, 解决方案在最下面。
下面是我的代码:
#include <stdio.h>
#include <stdlib.h>
typedef struct Node TreeNode;
struct Node{
char name;
char left;
char right;
};
int main()
{
int n;
int i,j;
int count = 0;//判断比配次数
TreeNode *Anode,*Bnode;
scanf("%d",&n);
getchar();
//动态分配
Anode = (TreeNode*)malloc(sizeof(struct Node)*n);
Bnode = (TreeNode*)malloc(sizeof(struct Node)*n);
//输入
for(i=0;i<n;i++){
scanf("%c %c %c",&Anode[i].name,&Anode[i].left,&Anode[i].right);
fflush(stdin);
}
scanf("%d",&n);
getchar();
for(i=0;i<n;i++){
scanf("%c %c %c",&Bnode[i].name,&Bnode[i].left,&Bnode