//首先解决二叉树的问题必须把根结点和左右结点分开解决
//如何找到这个结点的路径呢? 利用栈的特点 每次遍历一个结点 首先将它入栈
//之后判断这个结点是否等于所要查询的结点 若等于直接打印栈里的元素 直到栈空
//若不等于 依次递归它的左右节点 若一个结点的左右节点均没有找到目标 则出栈该结点
//直到找到 height即为该节点的高度 以及到根结点的长度(边数)
void FindPath(BiTree T, Stack *sqStack, char x,int &height) {
if (T) {
char temp;
Push(sqStack, T->data);
if (T->data == x) {
cout << "开始打印 ";
height = sqStack->top;
while (sqStack->top != 0) {
Pop(sqStack, &temp);
cout << temp<<" ";
}
}
FindPath(T->lchild, sqStack, x,height);
FindPath(T->rchild, sqStack, x,height);
Pop(sqStack, &temp);
}
}