您的位置:首页 > 其它

Medium 43题 Multiply Strings

2016-10-03 02:56 501 查看
Question:

Given two numbers represented as strings, return multiplication of the numbers as a string.

Note:

The numbers can be arbitrarily large and are non-negative.
Converting the input string to integer is NOT allowed.
You should NOT use internal library such as BigInteger.

Solution:

public class Solution {
public String multiply(String num1, String num2) {
int m=num1.length();
int n=num2.length();
int[] pos=new int[m+n];
int sum=0;
for(int i=m-1;i>=0;i--)
{
for(int j=n-1;j>=0;j--)
{
int mul=(num1.charAt(i)-'0')*(num2.charAt(j)-'0');
int p1=i+j;
int p2=i+j+1;
sum=mul+pos[p2];

pos[p1]=pos[p1]+sum/10;
pos[p2]=sum%10;
}
}

StringBuilder sb = new StringBuilder();
for(int p : pos) if(!(sb.length() == 0 && p == 0)) sb.append(p);
return sb.length() == 0 ? "0" : sb.toString();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: