Cadenas Alternadas - Leetcode 1768
Descripción
Dadas dos cadenas de texto llamadas word1
y word2
, crea una nueva cadena combinando las letras de cada una de forma alternada, comenzando con word1
. Si una cadena es más larga que la otra, agrega las letras adicionales al final de la cadena combinada.
Devuelve la cadena creada al combinar las letras según las reglas del párrafo anterior.
Ejemplo 1
Entrada: word1 = "abc", word2 = "pqr"
Salida: "apbqcr"
Explicación: La cadena se combina de la siguiente forma:
word1: a b c
word2: p q r
merged: a p b q c r
Ejemplo 2:
Entrada: word1 = "ab", word2 = "pqrs"
Salida: "apbqrs"
Explicación: Nota que debido a que word2 es más larga, las letras "rs" se agregan al final de la cadena combinada.
word1: a b
word2: p q r s
merged: a p b q r s
Ejemplo 3:
Entrada: word1 = "abcd", word2 = "pq"
Salida: "apbqcd"
Explicación: Nota que debido a que word1 es más larga, las letras "cd" se agregan al final de la cadena combinada.
word1: a b c d
word2: p q
merged: a p b q c d
Restricciones:
- 1 <= word1.length, word2.length <= 100
- word1 y word2 consisten en letras minúsculas del alfabeto Inglés.
Solución
Mostrar solución
class Solution:
def mergeAlternately(self, word1: str, word2: str) -> str:
# 1. buscar longitud común (longitud menor)
min_length = min(len(word1), len(word2))
new_str = ''
# 2. ciclo para alternar letras
i = 0
for i in range(min_length):
new_str += word1[i] + word2[i]
# 3. colocar letras sobrantes al final
longest = None
if len(word1) > len(word2):
longest = word1
elif len(word2) > len(word1):
longest = word2
# else: En el caso de longitudes iguales, longest queda como None
if longest:
# Toma los elementos desde una posición adelante
# de donde termina el ciclo en el que se combinaron las letras
new_str += longest[(i + 1):]
return new_str
Solución en Google Colab: Probar solución
Video Corto de Solución
@mkfnx Solución explicada en #Python del ejercicio 1768 de #LeetCode llamado "Cadenas Alternadas" Resuelvo estos ejercicios en transmisiones en vivo los martes y jueves por la tarde en TikTok, YouTube y Twitch. #programación #algoritmos #desarrollodesoftware #softwaredeveloper #entrevistalaboral ♬ original sound - Miguel
Fuente del ejercicio: https://leetcode.com/problems/merge-strings-alternately/