🦔

222. Count Complete Tree Nodes

に公開

完全二分木の根が与えられたとき、その木に含まれるノードの数を返してください。

Wikipediaによると、完全二分木では、最下層を除くすべてのレベルが完全に埋められており、最下層のノードはすべて左から詰めて配置されます。最下層(高さ h)には 1 から 2^h 個までのノードが存在する可能性があります。

O(n) 未満の時間計算量で動作するアルゴリズムを設計してください。


例 1:

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

例 2:

入力: root = []
出力: 0

例 3:

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


制約:

  • 木に含まれるノードの数は [0, 5 * 10^4] の範囲。
  • 各ノードの値は 0 <= Node.val <= 5 * 10^4 の範囲。
  • 木は完全二分木であることが保証されています。

Discussion