美文网首页
[LeetCode]

[LeetCode]

作者: lalulalula | 来源:发表于2018-01-06 20:22 被阅读0次

    1.Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.

    For example:
    Given the below binary tree and sum = 22,
    5
    /
    4 8
    / /
    11 13 4
    / \
    7 2 1
    return true, as there exist a root-to-leaf path 5->4->11->2 which sum is 22.

    2.题目要求:给定一个二叉树和一个值sum,判断是否存在一个从根节点到叶子节点的路径,使得路径上每个节点值之和等于sum。

    3.方法:遍历从根到叶子的每一条路径,并求和。只要相等,就返回true,否则一直遍历下去,最后返回false。

    4.代码:
    class Solution {
    public:
    bool hasPathSum(TreeNode *root, int sum) {
    if (root == NULL)
    return false;
    else if (root->left == NULL && root->right == NULL && root->val == sum)
    return true;
    else {
    return hasPathSum(root->left, sum-root->val) || hasPathSum(root->right, sum - root->val);
    }
    }
    };

    相关文章

      网友评论

          本文标题:[LeetCode]

          本文链接:https://www.haomeiwen.com/subject/cbqunxtx.html