题目:
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:
The length of both num1 and num2 is < 110.
Both num1 and num2 contain only digits 0-9.
Both num1 and num2 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.
解法1:
暴力法:
123
456
————
738
615
492
——————
56088
模仿乘法的规则,从num2的最后一位开始,依次与num1相乘,然后在后面补0,然后将所有的数加起来即可
class Solution {
public:
string multiply(string num1, string num2) {
if(num1 == "0" || num2 == "0"){
return "0";
}
string ans = "0";
int index = 0;
int n = num1.size() - 1;
int m = num2.size() - 1;
for(int i = m; i >= 0; i--){
int carry = 0;
int m1 = num2[i] - '0';
string temp = "";
for(int j = n; j >&