MedieC++17

Strămoșul comun într-un arbore de căutare

Cerință

Într-un arbore binar de căutare strict, găsește strămoșul comun cel mai adânc al nodurilor cu valorile a și b. Un nod este propriul său strămoș.

Tip de problemă: Lowest Common Ancestor in BST.

Date de intrare

n, apoi pentru nodurile 1..n câte o linie: valoare copil_stâng copil_drept. Rădăcina este 1; 0 înseamnă copil absent. La final: a b.

Date de ieșire

Valoarea strămoșului comun.

Restricții

1 ≤ n ≤ 100. Legăturile descriu un arbore binar valid și conex, fără cicluri. |valoare| ≤ 1000000000; valorile sunt distincte; a și b există în arbore.

Observații

Raportată de un candidat la LinkedIn (SE, runde de programare). Adaptare Algo25: Arbore dat prin indici de copii și ieșire deterministă.

Sursa relatării: https://leetcode.com/discuss/post/6468398/

Exemple

2 EXEMPLE

Exemplul 1

Exemplul 1 pentru „Strămoșul comun într-un arbore de căutare”. Nodul cu valoarea 5 este strămoșul lui 9 și propriul său strămoș. Răspunsul este valoarea nodului, nu indicele lui.Exemplul 1, reprezentat vizual. Nodul cu valoarea 5 este strămoșul lui 9 și propriul său strămoș. Răspunsul este valoarea nodului, nu indicele lui.Mărește schema ↗

Date de intrare

3
5 2 3
2 0 0
9 0 0
5 9

Date de ieșire

5

Exemplul 2

Date de intrare

1
0 0 0
0 0

Date de ieșire

0
UN MIC IMPULS

Ai nevoie de un indiciu?

Descoperă doar cât îți trebuie. Indiciile nu scad punctajul.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Se verifică autentificarea…

Deschide atelierul cu sugestii și teste locale în 4 limbaje →

Un pas, apoi următorul.Înapoi sus ↑