void path(bitree P, int k, int stack[], int top) {
if (P != NULL) {
stack[top] = P->data;
top++;
if (P->data == k) {
for (int i = 0; i < top; i++) {
cout << stack[i] << " ";
}
cout << endl;
}
path(P->lchild, k, stack, top);
path(P->rchild, k, stack, top);
}
}
打印出所有叶子结点到根节点的路径:
void path(bitree P, int stack[], int top) {
if (P != NULL) {
stack[top] = P->data;
top++;
if (P->lchild == NULL && P->rchild == NULL) {
for (int i = 0; i < top; i++) {
cout << stack[i] << " ";
}
cout << endl;
}
path(P->lchild, stack, top);
path(P->rchild, stack, top);
top--;
}
}