パスの112合計
二分木および目的地を与えられ、この経路上に、ツリー経路にリーフノードにルートノードが存在するかどうかをすべてのノードを決定し、追加された目標値に等しいです。
説明:リーフノードは、ノードが子ノードを持たないです。
例:
、次のバイナリツリーを考えると、ターゲットとの和= 22
5
/ \
4 8
/ / \
11 13 4
/ \ \
7 2 1
trueを返し、なぜなら、ターゲットパスの存在及びリーフノード22 5-> 4-> 11-> 2のルートノード。
class Solution {
public boolean hasPathSum(TreeNode root, int sum) {
if (root == null) {
return false;
}
if (root.left == null && root.right == null) {
return sum - root.val == 0;
}
return hasPathSum(root.left, sum - root.val)
|| hasPathSum(root.right, sum - root.val);
}
}