
class Solution {
public String multiply(String num1, String num2) {
int[] res=new int[num1.length()+num2.length()];
for(int i=num1.length()-1;i>=0;i--){
for(int j=num2.length()-1;j>=0;j--){
int sum=(num1.charAt(i)-'0')*(num2.charAt(j)-'0');
int p1=i+j;
int p2=i+j+1;
sum+=res[p2];
res[p1]+=sum/10;
res[p2]=sum%10;
}
}
StringBuilder str=new StringBuilder();
for(int digit:res){
if(digit==0&&str.length()==0){
continue;
}
str.append(digit);
}
return str.length()==0?"0":str.toString();
}
}
本文深入探讨了如何使用Java实现两个大整数的字符串乘法。通过将输入字符串转换为整数数组,采用逐位相乘的方法,并利用数组进行进位处理,最终返回乘法结果的字符串表示。此算法适用于处理超出常规整型变量范围的大数值乘法。
8万+

被折叠的 条评论
为什么被折叠?



