/*
 * function TreeNode(x) {
 *   this.val = x;
 *   this.left = null;
 *   this.right = null;
 * }
 */
/**
 * 思路:
 * 1. 确认临界条件
 * 2. 模拟一条链路,塑造递归
 * 3. 结果收归
 */
function hasPathSum(root, sum) {
    if (root == null) return false;
    if (sum == root.val && root.left == null && root.right == null) return true;

    return (
        hasPathSum(root.right, sum - root.val) ||
        hasPathSum(root.left, sum - root.val)
    );
}

module.exports = {
    hasPathSum: hasPathSum,
};