输入一个整数和一颗二叉树,从树的根节点开始往下访问,一直到叶节点,形成一条路径,打印出所有节点形成的路径
//全局变量, 保存遍历到路径的值
vector<int> path;
vector<vector<int>> rec; // 保存符合条件的路径
void fun(BTS T,int num)
{
if(T==NULL)
{
return;
}
path.push_back(T->value);
if(!T->left&&!T->right&&num == T->value) // 符合条件的路径
{
rec.push_back(path);
}
else
{
if(T->left)
{
fun(T->left,num - T->value);
}
if(T->right)
{
fun(T->right,num - T->value);
}
}
path.pop_back();
}