-1
我需要打印堆的所有树叶,但我不知道如果我做得正确。打印堆的所有树叶
例如:数组{A,B,C,d,E,F,G,H,I,J}
A
B C
D E F G
H I J
所以我的功能应该打印:HIJFG
这是正确的?
void leafdisplay(node *p)
{
if(p->left ==NULL && p->right ==NULL)
{
cout<<p->info; // display the node
}
else if (p->left==NULL&&p->right!=NULL)
leafdisplay(p->right);
else if(p->left!=NULL&&p->right==NULL)
leafdisplay(p->left);
else if(p->left!=NULL&&p->right!=NULL)
leafdisplay(p->left);
leafdisplay(p->right);
}
你尝试编译它了吗? – Koterpillar
另外,提示:你是否需要在同一时间检查左右子树_? – Koterpillar
进行深度优先搜索(左递归然后递归右),并在每次没有离开和没有权限时打印出来。然后你会很快打印出所有的叶子:) – Patashu