Man*_*son 1 c tree recursion binary-tree postorder
我有一个预订遍历函数,如下所示:
void listInPreOrder(node* hd){
if(hd != NULL) {
printf("%d, ", hd->value);
listInPreOrder(hd->left);
listInPreOrder(hd->right);
}
}
Run Code Online (Sandbox Code Playgroud)
这实际上是有效的,但我认为将它发布到订单就像这样简单
void listInPostOrder(node* hd){
if(hd != NULL) {
listInPreOrder(hd->left);
listInPreOrder(hd->right);
printf("%d, ", hd->value);
}
}
Run Code Online (Sandbox Code Playgroud)
但遗憾的是,它并没有那么好用.我想知道如何解决这个问题,也许我正在做一些简单的错误.或许这是完全错误的.
你怎么改变这个:
void listInPostOrder(node* hd){
if(hd != NULL) {
listInPreOrder(hd->left); // PRE order ???
listInPreOrder(hd->right); // PRE order ???
printf("%d, ", hd->value);
}
}
Run Code Online (Sandbox Code Playgroud)
对此:
void listInPostOrder(node* hd){
if(hd != NULL) {
listInPostOrder(hd->left);
listInPostOrder(hd->right);
printf("%d, ", hd->value);
}
}
Run Code Online (Sandbox Code Playgroud)