112. Path Sum

来源:互联网 发布:小辣椒4g3g2g网络选择 编辑:程序博客网 时间:2024/05/20 00:50

不知为何比他慢代码

class Solution {public:    bool hasPathSum(TreeNode* root, int sum) {        return go(root, 0, sum);    }    bool go(TreeNode *root, int cur, int sum){        if(root){            cur += root->val;            if(!root->left && !root->right){                if(cur != sum)                    return false;                else                    return true;            }else{                return go(root->left, cur, sum) || go(root->right, cur, sum);            }        }        return false;    }};

参照后改良。。

class Solution {public:    bool isHad;    bool hasPathSum(TreeNode* root, int sum) {        isHad = false;        go(root, 0, sum);        return isHad;    }    void go(TreeNode *root, int cur, int sum){        if(!root) return;        cur += root->val;        if(!root->left && !root->right)            isHad = isHad? true : (cur == sum);        if(root->left) go(root->left, cur, sum);        if(root->right) go(root->right, cur, sum);    }};

原创粉丝点击