5.4.3 Path Sum

Notes:
  Given a binary tree, find its maximum depth.
  The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
 
  Solution: Recursion.
  */
   
  /**
  * Definition for binary tree
  * struct TreeNode {
  * int val;
  * TreeNode *left;
  * TreeNode *right;
  * TreeNode(int x) : val(x), left(NULL), right(NULL) {}
  * };
  */

<pre name="code" class="cpp">class Solution {
public:
    bool hasPathSum(TreeNode *root, int sum) {
        if (!root)
            return false;
        if (!root->left and !root->right)
            return sum == root->val;
        return hasPathSum(root->left, sum - root->val) || 
               hasPathSum(root->right, sum - root->val);
    }
};


 
 

你可能感兴趣的:(5.4.3 Path Sum)