Wawancara 150 TeratasSedang

Hitung Node Baik Di Pohon Biner

Panduan terperinci dan implementasi Python untuk masalah 'Hitung Node Baik di Pohon Biner'.

Pernyataan Masalah

Sedang

Diberikan akar pohon biner, suatu simpul X pada pohon tersebut dinamakan baik jika pada jalur dari akar ke X tidak ada simpul yang nilainya lebih besar dari X.

Mengembalikan jumlah node yang bagus di pohon biner.

Pohon direpresentasikan sebagai daftar tingkat-urutan. Menerapkan fungsi goodNodes(root: list) -> int.

Kendala
  • The number of nodes in the binary tree is in the range [1, 100000]
  • -10000 <= Node.val <= 10000

Contoh

Example 1
Input
[3,1,4,3,None,1,5]
Output
4
Explanation

Root 3 is always good. Node 4 (3<=4, good). Node 3 under node 1 (3<=3, good). Node 5 (3<=4<=5, good). Node 1 is not good (3>1). Node 1 under 4 is not good (4>1). Total: 4 good nodes.

Example 2
Input
[3,3,None,4,2]
Output
3
Explanation

Root 3 is good. Node 3 (left child, 3<=3, good). Node 4 (3<=3<=4, good). Node 2 is not good (3>2). Total: 3.

Example 3
Input
[1]
Output
1
Explanation

The root is always a good node.

Need a Hint?
Pertimbangkan untuk menggunakan struktur data khusus Pohon seperti kumpulan atau tumpukan.
Edge Cases to Watch
  • Struktur masukan kosong
  • Masukan elemen tunggal
  • Batasan angka yang besar

Siap Memecahkannya?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Buka di Editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.