zoukankan      html  css  js  c++  java
  • 112. Path Sum

    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.

    一开始被这题目坑了,因为叶子节点的左右孩子都是NULL  后捞改了一下代码  过了

    /**
     * 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 hasPathSum1(TreeNode* root, int sum) {
            if (root == NULL){
                if (sum == 0) return true;
                return false;
            }
            if (root->left == NULL) return hasPathSum1(root->right,sum - root->val);
            else if (root->right == NULL) return hasPathSum1(root->left,sum - root->val);
            else return  (hasPathSum1(root->left,sum - root->val) || hasPathSum1(root->right,sum - root->val));
        }
        bool hasPathSum(TreeNode* root, int sum) {
            if (root == NULL) return false;
            return hasPathSum1(root, sum);
        }
    };
    /**
     * 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) return false;
            if(sum == root->val && root->left==NULL &&root->right == NULL) return true;
             
            return hasPathSum(root->left, sum-root->val)||hasPathSum(root->right, sum-root->val);
            
        }
    };
  • 相关阅读:
    POI简单初识 Demo (资源来自网络本人属于收藏总结)
    spring学习笔记(6)装配Bean 的种类和区别 【资源来自网络 版权非本人】
    springboot相关
    前沿技术Hyperledger
    MAC版的IDEA快捷键
    JSONObject put,accumulate,element的区别
    1027
    position窗口居中
    http 请求详解大全
    关于Spring注解
  • 原文地址:https://www.cnblogs.com/pk28/p/7228189.html
Copyright © 2011-2022 走看看