Wawancara 150 TeratasMudah

Leluhur Umum Terendah BST

Panduan terperinci dan implementasi Python untuk masalah 'Leluhur Bersama Terendah BST'.

Pernyataan Masalah

Mudah

Dengan adanya pohon pencarian biner (BST), temukan simpul nenek moyang bersama (LCA) terendah dari dua simpul tertentu di BST.

Menurut definisi LCA: "Nenek moyang terendah didefinisikan antara dua node p dan q sebagai node terendah di T yang memiliki p dan q sebagai keturunan (di mana kita mengizinkan sebuah node menjadi keturunannya sendiri)."

BST direpresentasikan sebagai daftar tingkat-urutan. Menerapkan fungsi lowestCommonAncestor(root: list, p: int, q: int) -> int yang mengembalikan nilai node LCA.

Kendala
  • The number of nodes in the tree is in the range [2, 100000]
  • -1000000000 <= Node.val <= 1000000000
  • All Node.val are unique
  • p != q
  • p and q will exist in the BST

Contoh

Example 1
Input
[6,2,8,0,4,7,9,None,None,3,5], 2, 8
Output
6
Explanation

The LCA of nodes 2 and 8 is 6, which is the root.

Example 2
Input
[6,2,8,0,4,7,9,None,None,3,5], 2, 4
Output
2
Explanation

The LCA of nodes 2 and 4 is 2, since a node can be a descendant of itself.

Example 3
Input
[2,1], 2, 1
Output
2
Explanation

The LCA of nodes 2 and 1 is 2.

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.