目次
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; } }
操作結果: