POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Progreso diario de LeetCode – Día 18

Progreso diario de LeetCode – Día 18: Intersección de listas enlazadas y Diámetro de árbol

Publicado el 07/09/2025

Problemas resueltos: #160 Intersección de dos listas enlazadas #543 Diámetro de un árbol binario

Este es mi progreso diario de LeetCode – Día 18: Intersección de listas enlazadas y Diámetro de árbol. Hoy abordé dos clásicos de estructuras de datos que aparecen constantemente en entrevistas y en sistemas reales.

Lo que aprendí

Intersección de dos listas enlazadas (#160): el patrón de dos punteros funciona de forma elegante. Avanza un puntero por A y otro por B; cuando uno llegue a null, salta al inicio de la otra lista. Tras recorrer m + n pasos ambos habrán cubierto la misma distancia y se encontrarán exactamente en el nodo de intersección (o en null si no existe). Sin necesidad de calcular longitudes ni de memoria extra.

Diámetro de un árbol binario (#543): el camino más largo entre dos nodos pasa por algún nodo cuyo mejor camino es altura_izquierda + altura_derecha. Con un DFS que devuelve la altura de cada subárbol y un máximo global se obtiene el diámetro en una sola pasada.

Patrones reforzados: dos punteros para listas y recursión en profundidad para árboles. Son ideas simples, potentes y de gran impacto en la práctica.

#160 — Intersección de dos listas enlazadas

Idea paso a paso: 1) Inicia punteros a = headA y b = headB. 2) Mientras a no sea b: a = a.next si a existe, en caso contrario a = headB; b = b.next si b existe, en caso contrario b = headA. 3) Cuando a == b, has encontrado el nodo de intersección o ambos son null si no hay intersección.

Complejidad: tiempo O(m + n), espacio O(1).

#543 — Diámetro de un árbol binario

Idea paso a paso: 1) Define una función dfs(nodo) que devuelva la altura del subárbol. 2) Para cada nodo, calcula left = dfs(nodo.izq) y right = dfs(nodo.der). 3) Actualiza un máximo global con left + right. 4) Retorna 1 + max(left, right) como altura. 5) El resultado final es el máximo global acumulado.

Complejidad: tiempo O(n), espacio O(h) por la pila de recursión, donde h es la altura del árbol.

Logros del día

Implementé una solución de dos punteros clara para la intersección de listas enlazadas y un DFS limpio para el diámetro en Python y C++. Estas soluciones son concisas, óptimas y fáciles de razonar.

Resumen de complejidad

Intersección de listas enlazadas: O(m + n) tiempo y O(1) espacio. Diámetro de árbol binario: O(n) tiempo y O(h) espacio.

Cómo esto se conecta con el mundo real

En Q2BSTUDIO aplicamos estos patrones para construir software a medida escalable y robusto: desde motores de recomendación hasta pipelines de datos y validaciones en tiempo real. La capacidad de resolver problemas con estructuras de datos eficientes impacta en latencia, consumo de memoria y coste operativo en producción.

Si buscas acelerar tu roadmap con aplicaciones a medida y software a medida, descubre nuestro enfoque end to end en desarrollo de software a medida y multiplataforma. Y si tu prioridad es incorporar inteligencia artificial en tus productos o procesos, explora nuestros servicios de IA para empresas y agentes IA.

Sobre Q2BSTUDIO

Somos una empresa de desarrollo con foco en aplicaciones a medida, inteligencia artificial, ciberseguridad y servicios cloud AWS y Azure. También impulsamos la toma de decisiones con servicios inteligencia de negocio y power bi, además de automatización de procesos para mejorar la eficiencia operativa. Nuestro equipo integra mejores prácticas de ingeniería con diseño de soluciones reales, desde APIs de alto rendimiento hasta analítica avanzada.

Palabras clave que guían nuestro trabajo: aplicaciones a medida, software a medida, inteligencia artificial, ia para empresas, agentes IA, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y power bi.

Sigue el reto

Continuaré resolviendo y documentando problemas a diario en Python y C++, cubriendo arrays, listas, árboles, programación dinámica y más. Si te interesa un enfoque sistemático para elevar tus habilidades técnicas, mantente al tanto de los próximos días.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio