1.题目描述
Given two non-negative integers num1
and num2
represented as strings, return the product of num1
and num2
, also represented as a string.
给定两个以字符串形式表示的非负整数 num1
和 num2
,返回 num1
和 num2
的乘积,它们的乘积也表示为字符串形式。
Example 1:
Input: num1 = “2”, num2 = “3”
Output: “6”
Example 2:
Input: num1 = “123”, num2 = “456”
Output: “56088”
Note:
- The length of both
num1
andnum2
is < 110. - Both
num1
andnum2
contain only digits0-9
. - Both
num1
andnum2
do not contain any leading zero, except the number 0 itself. - You must not use any built-in BigInteger library or convert the inputs to integer directly.
2.Solutions
Remember how we do multiplication?
Start from right to left, perform multiplication on every pair of digits, and add them together. Let’s draw the process! From the following draft, we can immediately conclude:
从右到左开始,对每对数字执行乘法运算,并将它们加在一起。 让我们画出这个过程吧! 从以下草案中,我们可以立即得出结论:
1 | `num1[i] * num2[j]` will be placed at indices `[i + j`, `i + j + 1]` |
2.Solutions
1 | public static String multiply(String num1, String num2) { |