leetcode 112
思路
我们利用递归来实现,用result字段来记录结果值,默认为false,我们递归的时候传入需要的目标值,然后每次遍历到一个节点,就用目标值减去节点当前值,最终到叶子节点时,如果是正好为0,那么说明这条路径是符合的,更新result = true
实现
var hasPathSum = function (root, targetSum) {if (!root) return false;let result = false;const deep = (node, target) => {let item = target - node.val;if (!node.left && !node.right) {// 叶子节点if(item === 0){result = true}return;}if (node.left) {deep(node.left, item)}if (node.right) {deep(node.right, item)}}deep(root, targetSum)return result;
};