void main() { struct treenode *root = newnode(7); root->left = newnode(5); root->left->right = newnode(4); root->left->left = newnode(3); root->right = newnode(8); root->right->left = newnode(9); root->right->right= newnode(6); int depth = treedepth(root); // define path int path[depth]; memset(path, 0, sizeof(int)*depth); //printf("Depth is %d", treedepth(root)); printpathk(root, 17, path, 0); }
int main() { Bitree root; creat(&root); initstack(); preorder(root); printf("\n"); printf("%d\n\n",Two); output(root); printf("\n"); tree(root,1); change(root); preorder(root); printf("\n"); int depth=treedepth(root); char ph[depth]; path(root,ph,depth); print(root,1); int leaf=leafnum(root); printf("%d",leaf); }
int treedepth(struct treenode *root) { if(root == NULL) { return 0; } return 1 + MAX(treedepth(root->left), treedepth(root->right)); }