给出一个二叉树,用一个函数确定是否有一条从根节点到叶子节点的路径,这个路径上所有节点的值加在一起等于给定的sum的值。函数声明hasPathSum已经给出,写出程序设计思路并且实现该函数。尽量提供多种实现方法。
/**
* 二叉树节点定义如下:
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
bool hasPathSum(TreeNode *root, int sum) {
} 示例:
给定的二叉树和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1
返回值是ture, 即存在一条 root-to-leaf 的路径 5->4->11->2 节点值相加等于22


