验证中...
开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约
语言: C/C++
分类: 编程语言基础
最后更新于 2018-12-09 10:12
gistfile1.txt
原始数据 复制代码
/**
* 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 path(TreeNode *root,int sum) {
if(!root) return false;
if(!root->right&&!root->left) return !(sum-root->val);
return path(root->left,sum-root->val)|path(root->right,sum-root->val);
}
bool hasPathSum(TreeNode* root, int sum) {
if(!root) return false;
bool ans1,ans2;
ans1=ans2=false;
if(!root->right&&!root->left) return root->val==sum;
if(root->right) ans1=path(root->right,sum-root->val);
if(root->left) ans2=path(root->left,sum-root->val);
return ans1|ans2;
}
};

评论列表( 0 )

你可以在登录后,发表评论

搜索帮助