Java実装パス112和LeetCode

パスの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);
    }
}
リリース1229元の記事 ウォンの賞賛10000 + ビュー670 000 +

おすすめ

転載: blog.csdn.net/a1439775520/article/details/104383713