#include<iostream>
using namespace std;
#define maxSize 100
struct TreeNode{
int data;
TreeNode *left;
TreeNode *right;
}
void printPath(TreeNode *root, int sum){
int arr[maxSize];
helper(root,sum,arr,0);
}
void print(int arr[], int top){
for(int i=0;i<top;i++)printf("%d ",arr[i]);
}
void helper(Tree *root, int sum, int arr[], int top){
if(root == null) return;
arr[top++] = root.data;
sum-=root.data;
if(root.left == null && root.right == null){
if(sum==0)print(arr,top);
} else {
helper(root.left,sum,arr,top);
helper(root.right,sum,arr,top);
}
}
int main(){
TreeNode *root;
printPath(root,20);
}
<div class="iteye-blog-content-contain" style="font-size: 14px"></div>