题目:输入一颗二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路劲。
void PrintNodeEqualInt()
{
int num;
cout<<"输入一个整数:"<<endl;
cin>>num;
int sum=0;
queue<Node*> q;
_PrintNodeEqualInt(_root,num,sum,q);
}
void _PrintNodeEqualInt(Node* root,int num,int sum,queue<Node*> q)
{
if(root==NULL)
return;
sum+=root->_data;
q.push(root);
if(sum==num)
_Display(q);
_PrintNodeEqualInt(root->_left,num,sum,q);
_PrintNodeEqualInt(root->_right,num,sum,q);
}
void _Display(queue<Node*> q)
{
while(!q.empty())
{
Node* front=q.front();
cout<<front->_data<<" ";
q.pop();
}
cout<<endl;
}