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();
}
}
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();
}
}
相关文章推荐
- [Leetcode 43, medium] Multiply Strings
- leetcode 43. Multiply Strings
- Leetcode Multiply Strings 43
- 43. Multiply Strings
- 43. Multiply Strings
- leetcode做题总结,题目Multiply Strings 43
- 【leetcode】【43】Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- LeetCode43 Multiply Strings
- LeetCode 43: Multiply Strings
- Math-43-Multiply Strings
- LeetCode 43. Multiply Strings
- LeetCode - 43. Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- Leetcode 43. Multiply Strings
- LeetCode 43. Multiply Strings
- LeetCode(43)Multiply Strings