public String multiply(String num1, String num2){if("0".equals(num1)||"0".equals(num2)){return"0";}int length1 = num1.length();int length2 = num2.length();int[] result =newint[length1 + length2];for(int i = length1 -1; i >=0; i--){int i1 = num1.charAt(i)-'0';for(int j = length2 -1; j >=0; j--){int j1 = num2.charAt(j)-'0';int sum =(result[i + j +1]+ i1 * j1);
result[i + j +1]= sum %10;
result[i + j]+= sum /10;}}
StringBuilder res =newStringBuilder();for(int i =0; i < result.length; i++){if(i ==0&& result[i]==0){continue;}
res.append(result[i]);}return res.toString();}
go
funcmultiply(num1 string, num2 string)string{if"0"== num1 ||"0"== num2 {return"0"}
length1 :=len(num1)
length2 :=len(num2)
result :=make([]int, length1+length2)for i := length1 -1; i >=0; i--{
i1 :=int(num1[i]-'0')for j := length2 -1; j >=0; j--{
j1 :=int(num2[j]-'0')
sum := result[i+j+1]+ i1*j1
result[i+j+1]= sum %10
result[i+j]+= sum /10}}var res stringfor i, v :=range result {if i ==0&& v ==0{continue}
res += strconv.Itoa(v)}return res
}