-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathReto #24.js
More file actions
85 lines (73 loc) · 2.11 KB
/
Reto #24.js
File metadata and controls
85 lines (73 loc) · 2.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/**
* Reto #24: 🪞 Verifica si los árboles son espejos mágicos
* En el Polo Norte, los elfos tienen dos árboles binarios mágicos que generan energía 🌲🌲 para
* mantener encendida la estrella navideña ⭐️. Sin embargo, para que funcionen correctamente, los
* árboles deben estar en perfecta sincronía como espejos 🪞.
*
* Dos árboles binarios son espejos si:
*
* Las raíces de ambos árboles tienen el mismo valor.
* Cada nodo del primer árbol debe tener su correspondiente nodo en la posición opuesta en el segundo
* árbol.
* Y el árbol se representa con tres propiedades value, left y right. Dentro de estas dos últimas va
* mostrando el resto de ramas (si es que tiene):
const tree = {
value: '⭐️',
left: {
value: '🎅'
// left: {...}
// right: { ... }
},
right: {
value: '🎁'
// left: { ... }
// right: { ... }
}
}
* Santa necesita tu ayuda para verificar si los árboles están sincronizados para que la estrella pueda
* seguir brillando. Debes devolver un array donde la primera posición indica si los árboles están sincronizados
* y la segunda posición devuelve el valor de la raíz del primer árbol.
*
* Ejemplos:
*/
const tree1 = {
value: '🎄',
left: { value: '⭐' },
right: { value: '🎅' }
}
const tree2 = {
value: '🎄',
left: { value: '🎅' },
right: { value: '⭐' }
}
isTreesSynchronized(tree1, tree2) // [true, '🎄']
/*
tree1 tree2
🎄 🎄
/ \ / \
⭐ 🎅 🎅 ⭐
*/
const tree3 = {
value: '🎄',
left: { value: '🎅' },
right: { value: '🎁' }
}
isTreesSynchronized(tree1, tree3) // [false, '🎄']
const tree4 = {
value: '🎄',
left: { value: '⭐' },
right: { value: '🎅' }
}
isTreesSynchronized(tree1, tree4) // [false, '🎄']
isTreesSynchronized(
{ value: '🎅' },
{ value: '🧑🎄' }
) // [false, '🎅']
/**
* @param {object} tree1 - The first binary tree.
* @param {object} tree2 - The second binary tree.
* @returns {[boolean, string]}
*/
function isTreesSynchronized(tree1, tree2) {
console.log('Pendientte')
}