leetcode 112. 路径总和

47 阅读1分钟

c++

class Solution {
public:
    bool hasPathSum(TreeNode* root, int targetSum) {
        if (root == nullptr) return false;
        if (!root->left && !root->right && targetSum == root->val) return true;
        if (root->left && hasPathSum(root->left, targetSum - root->val)) return true;
        if (root->right && hasPathSum(root->right, targetSum - root->val)) return true;
        return false;
    }
};

js

var hasPathSum = function(root, targetSum) {
    if (!root) return false;
    if (!root.left && !root.right) return root.val == targetSum;
    if (root.left && hasPathSum(root.left, targetSum - root.val)) return true;
    if (root.right && hasPathSum(root.right, targetSum - root.val)) return true;
    return false;
};