LeetCode 43. Multiply Strings

Description

https://leetcode.com/problems/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.

Example 1:

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

Example 2:

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

Note:

  1. The length of both num1 and num2 is < 110.
  2. Both num1 and num2 contain only digits 0-9.
  3. Both num1 and num2 do not contain any leading zero, except the number 0 itself.
  4. You must not use any built-in BigInteger library or convert the inputs to integer directly.

Explanation

convert string to integer

Python Solution

class Solution:
    def multiply(self, num1: str, num2: str) -> str:
        
        return str(self.str_to_int(num1) * self.str_to_int(num2))
        
    def str_to_int(self, num_str):
        num = 0
        
        for ch in num_str:
            num = num * 10 + (ord(ch) - ord('0'))
        
        return num
  • Time Complexity: ~max(M, N) M, N are length of num1, num2
  • Space Complexity: ~1

Leave a Reply

Your email address will not be published. Required fields are marked *