## hasPathSum

Author: Marty Stepp (on 2020/11/05)

Write a method called hasPathSum that takes an integer n as a parameter and that returns true if there is some path from the overall root of a tree to a node of the tree in which the sum of the data stored in the nodes adds up to n (returning false if no such path exists). For example if the variable t refers to the following tree:

```                                 +----+
|  5 |
+----+
/        \
/            \
+----+                +----+
|  1 |                | 21 |
+----+                +----+
/      \                     \
/        \                     \
+----+       +----+               +----+
| -9 |       |  2 |               | 20 |
+----+       +----+               +----+
/      \                          /      \
/        \                        /        \
+----+      +----+                +----+      +----+
|  3 |      | 30 |                | 13 |      |  4 |
+----+      +----+                +----+      +----+
```

Below are various calls and an explanation for the value returned:

```        t.hasPathSum(8) returns true because of the path (5, 1, 2)
t.hasPathSum(26) returns true because of the path (5, 21)
t.hasPathSum(0) returns true because of the path (5, 1, -9, 3)
t.hasPathSum(5) returns true because of the path (5)
t.hasPathSum(1) returns false because no path with that sum exists
```