Menu
CoddyTech

Maximum Depth of Binary Tree

Kamu mendapatkan binary tree yang disimpan dalam array tree dengan urutan level. Root berada pada indeks 0, anak dari node pada indeks i berada pada 2*i+1 (kiri) dan 2*i+2 (kanan), -1 menandai tempat kosong, dan array dapat diakhiri dengan entri -1 tambahan. Kembalikan kedalaman maksimum tree: jumlah node pada jalur terpanjang dari root hingga leaf.

Fungsi

maxDepth(tree: integer-array) → integer
treeinteger-array
pohon biner dalam urutan level, dengan -1 untuk posisi kosong
Mengembalikaninteger
jumlah node pada jalur terpanjang dari akar ke daun

Batasan

  • 1 ≤ tree.length ≤ 32767
  • Setiap tree[i] adalah -1 atau nilai dengan 0 ≤ tree[i] ≤ 1000.
  • tree[0] tidak pernah -1, jadi tree memiliki setidaknya satu node.
  • Array dapat diakhiri dengan entri -1 tambahan setelah node terakhir.
  • Kedua anak dari posisi kosong juga kosong, dan kedalamannya paling banyak 14.

Contoh

Input
tree = [5, 8, 1, -1, 3, -1, -1, -1, -1, 6]
Output
4
Penjelasan
Jalur terpanjang adalah 5, 8, 3, 6 (indeks 0, 1, 4, 9), yang memiliki 4 simpul. Jalur melalui 1 berhenti setelah 2 simpul.
challenge icon

Pertanyaan lanjutan

Bagaimana kamu akan mengembalikan nilai-nilai pada jalur dari akar ke daun terpanjang sekaligus panjangnya? Jika beberapa jalur memiliki panjang yang sama, jalur mana yang akan kamu kembalikan?

Reset kode
def maxDepth(tree):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

tree = [5, 8, 1, -1, 3, -1, -1, -1, -1, 6]

Output yang diharapkan

4