您的位置:首页 > 其它

Leetcode Path Sum

2016-12-17 15:34 344 查看
题意:判断是否存在从根结点到叶结点,路上结点之和为所给的值的路径。

思路:DFS。

class Solution {
public:
bool hasPathSum(TreeNode* root, int sum) {
if(root == NULL) return false;

sum -= root->val;
bool leftmark = false;
bool rightmark = false;

if(root->left == NULL && root->right == NULL && sum == 0) return true;

if(root->left) {
//if(sum == 0) leftmark =false;
leftmark = hasPathSum(root->left, sum);
}

if(root->right) {
//if(sum == 0) rightmark = false;
rightmark = hasPathSum(root->right, sum);
}

if(leftmark || rightmark) return true;
else return false;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode dfs