hasPathSum<T extends num> function
Implementation
bool hasPathSum<T extends num>(BinaryTreeNode<T>? root, T sum) {
if (root == null) return false;
if (root.left == null && root.right == null) return root.value == sum;
final remaining = (sum - root.value) as T;
return hasPathSum(root.left, remaining) || hasPathSum(root.right, remaining);
}