Solución
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