Solución

@kappa_cat·2/6/2026TypeScript
solution.tsTypeScript
export function multiplyStrings(num1: string, num2: string): string {
  if (num1 === '0' || num2 === '0') return '0'

  const n = num1.length
  const m = num2.length

  const result = Array(n + m).fill(0)

  for (let iNum1 = n - 1; iNum1 >= 0; iNum1--) {
    for (let iNum2 = m - 1; iNum2 >= 0; iNum2--) {
      const digit1 = num1.charCodeAt(iNum1) - 48
      const digit2 = num2.charCodeAt(iNum2) - 48

      const product = digit1 * digit2

      const currentPos = iNum1 + iNum2 + 1
      const carryPos = iNum1 + iNum2

      const sum = product + result[currentPos]

      result[currentPos] = sum % 10
      result[carryPos] += Math.floor(sum / 10)
    }
  }

  return result.join('').replace(/^0+/, '') || '0'
}
0respuestas
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.