做养生类项目的网站,舟山 网站制作,南京百度关键字优化价格,营销型网站建设ppt给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。如果存在#xff0c;返回 true #xff1b;否则#xff0c;返回 false 。
叶子节点 是指没有子节点…给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径这条路径上所有节点值相加等于目标和 targetSum 。如果存在返回 true 否则返回 false 。
叶子节点 是指没有子节点的节点。 代码如下
class Solution {
public:bool PathSum(TreeNode* cur, int count){if(!cur-left !cur-right count 0) return true;if(!cur-left !cur-right) return false;if(cur-left){count - cur-left-val;if(PathSum(cur-left,count)) return true;count cur-left-val;}if(cur-right){count - cur-right-val;if(PathSum(cur-right,count)) return true;count cur-right-val;} return false;}bool hasPathSum(TreeNode* root, int targetSum) {if(root NULL) return false;return PathSum(root,targetSum-root-val);}
};
注意
1、注意回溯是发生在遍历完一个节点后在回溯而不是在单层递归逻辑中否则就相当于每次递归什么都没做
2、若采用递减判断主函数传参传入的是减去了根节点值的目标值