# Given a binary tree and a sum, determine if the tree has a root-to-leaf path
# such that adding up all the values along the path equals the given sum.

# Definition for a binary tree node.
# class TreeNode
#     attr_accessor :val, :left, :right
#     def initialize(val)
#         @val = val
#         @left, @right = nil, nil
#     end
# end

# @param {TreeNode} root
# @param {Integer} sum
# @return {Boolean}

def path_sum?(root, sum)
  return false unless root
  if root.left || root.right
    return path_sum?(root.left, sum - root.val) || path_sum?(root.right, sum - root.val)
  end

  sum - root.val == 0
end
