1. 程式人生 > >112 Path Sum 路徑總和

112 Path Sum 路徑總和

ini solution || OS -s ble 返回 eno node

給定一棵二叉樹和一個總和,確定該樹中是否存在根到葉的路徑,這條路徑的所有值相加等於給定的總和。
例如:
給定下面的二叉樹和 總和 = 22,
5
/ \
4 8
/ / \
11 13 4
/ \ \
7 2 1
返回 true, 因為存在總和為 22 的根到葉的路徑 5->4->11->2。
詳見:https://leetcode.com/problems/path-sum/description/

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    bool hasPathSum(TreeNode* root, int sum) {
        if(root==nullptr)
        {
            return false;
        }
        if(root->left==nullptr&&root->right==nullptr&&root->val==sum)
        {
            return true;
        }
        return (hasPathSum(root->left,sum-root->val)||hasPathSum(root->right,sum-root->val));
    }
};

112 Path Sum 路徑總和