43. Multiply Strings

43. Multiply Strings

Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2, also represented as a string.

Note: You must not use any built-in BigInteger library or convert the inputs to integer directly.

Example 1:

Input: num1 = "2", num2 = "3"
Output: "6"

Example 2:

Input: num1 = "123", num2 = "456"
Output: "56088"

Constraints:

  • 1 <= num1.length, num2.length <= 200
  • num1 and num2 consist of digits only.
  • Both num1 and num2 do not contain any leading zero, except the number 0 itself.

 

class Solution:
    def multiply(self, num1: str, num2: str) -> str:
        if num1 == ‘0’ or num2 ==’0′:
            return ‘0’
       
        def strToInt(num):
            return_value = 0
            for i in num:
                return_value = return_value * 10 + (ord(i) – ord(‘0’))
            return return_value
       
        def intToStr(num):
            return_str = ”
            while num:
                s = num % 10
                num = num // 10
                return_str = chr(ord(‘0’)+s) + return_str
            return return_str
       
        result = intToStr(strToInt(num1) * strToInt(num2))
        return result
No Comments

Post A Comment