题目(来源LintCode)
给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值 的路径。
一个有效的路径,指的是从根节点到叶节点的路径。
代码实现思路:
1.使用递归,计算临时和值,和target进行比较,如果相等则得到一条搜索路径。
2.暴力求解,遍历出所有的根节点到子节点的路径,然后计算每条路径的和,找出所有符合要求的路径。(不推荐)
//借鉴了高手的思路做了一下,这里使用C++实现
#include <iostream>
#include <vector>
using std::cout;
using std::endl;
using std::vector;
class TreeNode {
public:
int val;
TreeNode *left, *right;
TreeNode(int val) {
this->val = val;
this->left = this->right = NULL;
}
};
class Solution {
public:
/**
* @param root the root of binary tree
* @param target an integer
* @return all v