寻找节点祖先-非递归
题目要求找出值为x的节点的所有祖先(值为x的节点不超过一个),寻找过程就是一种后序遍历的过程,当找到值为x的节点那么栈中的元素都为该节点的祖先,输出即可。
#include <iostream>
#include <stack>
using namespace std;
struct Node
{
int data;
int tag;//0表示访问左孩子,1表示访问右孩子
Node *lchild,*rchild;
};
//建树
void CreateTree(Node* &root)
{
int data;
cin>>data;
if(data==-1)
{
root=nullptr