LeetCode アルゴリズム バイナリ ツリー - 222。完全なバイナリ ツリーのノード数

目次

222. 完全なバイナリ ツリー内のノードの数 - LeetCode

コード:

操作結果: 


 完全なバイナリ ツリー のルート ノードが 与えられた場合root 、ツリー内のノードの数を見つけます。

完全な二分木 の定義は次のとおりです。 完全な二分木では、満たされていない可能性がある最下位のノードを除いて、各層のノード数が最大に達し、最下層のノードが集中します。レイヤーの左端の位置。最下層が th h 層の場合、その層には 1~ 2h ノードが含まれます。

例 1:

入力: root = [1,2,3,4,5,6]
出力: 6

例 2:

入力: root = []
出力: 0

例 3:

入力: root = [1]
出力: 1

ヒント:

  • ツリー内のノード数の範囲は次のとおりです。[0, 5 * 104]
  • 0 <= Node.val <= 5 * 104
  • 質問データにより、入力ツリーが 完全なバイナリ ツリーであることが保証されます。

コード:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    // 第一反应递归写法
    public int countNodes(TreeNode root) {
        if(root==null) return 0;
        return countNodes(root.left)+countNodes(root.right)+1;
    }
}

操作結果: 

おすすめ

転載: blog.csdn.net/qq_62799214/article/details/133360131