剑指offer34. 二叉树路径和 P182
题目:输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。
// 主递归函数参数: 当前节点 上一步路径和 期待值 路径存储数组
void DFS_FindPath(BinaryTreeNode
*root
, int sum
, int k
, vector
<int> &path
) {
if (root
== NULL || root
-> m_nValue
+ sum
> k
) return ;
path
.push_back(root
-> m_nValue
);
if (root
-> m_nValue
+ sum
< k
) {
DFS_FindPath(root
-> m_pLeft
, sum
+ root
-> m_nValue
, k
, path
);
DFS_FindPath(root
-> m_pRight
, sum
+ root
-> m_nValue
, k
, path
);
}else {
for (auto p
: path
) {
printf("%d ", p
);
}
printf("\n");
}
path
.pop_back();
}