Leetcode:Multiply Strings
2014-12-17 15:50
204 查看
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.
实现两个字符串数字的乘法,模拟数学乘法即可。
实现代码:
Note: The numbers can be arbitrarily large and are non-negative.
实现两个字符串数字的乘法,模拟数学乘法即可。
实现代码:
class Solution { public: string multiply(string num1, string num2) { string result; int carry = 0; if(num1.size()==1&&num1[0]=='0'||num2.size()==1&&num2[0]=='0') return "0"; for(int i = 1 ; i < num1.size()+num2.size(); ++i) { int sum = carry; for(int j = 1 ; j <= num1.size(); ++j) { if(i+1-j>=1&&i+1-j<=num2.size()) sum += (num1[num1.size()-j]-'0')*(num2[num2.size()-1-i+j]-'0'); } carry = sum/10; result.insert(result.begin(),sum%10+'0'); } if(carry>0) result.insert(result.begin(),carry+'0'); return result; } };java版:
public class Solution { public String multiply(String num1, String num2) { if (num1 == null || num2 == null) { return null; } int len1 = num1.length(), len2 = num2.length(); int len3 = len1 + len2; int i, j, product, carry; int[] num3 = new int[len3]; for (i = len1 - 1; i >= 0; i--) { carry = 0; for (j = len2 - 1; j >= 0; j--) { product = carry + num3[i + j + 1] + Character.getNumericValue(num1.charAt(i)) * Character.getNumericValue(num2.charAt(j)); num3[i + j + 1] = product % 10; carry = product / 10; } num3[i + j + 1] = carry; } StringBuilder sb = new StringBuilder(); i = 0; while (i < len3 - 1 && num3[i] == 0) { i++; } while (i < len3) { sb.append(num3[i++]); } return sb.toString(); } }
相关文章推荐
- LeetCode 43题之 Multiply Strings
- leetcode面试准备:Multiply Strings
- Leetcode:43. Multiply Strings
- leetcode 第42题 Multiply Strings
- LeetCode: Multiply Strings
- LeetCode 43 Multiply Strings(高精度乘法)
- [*leetcode 43] Multiply Strings
- LeetCode: Multiply Strings
- [LeetCode]题解(python):043-Multiply Strings
- LeetCode Multiply Strings
- Java for LeetCode 043 Multiply Strings
- leetcode--Multiply Strings
- 【LeetCode】Multiply Strings 解题报告
- leetcode--Multiply Strings
- Leetcode--Multiply Strings
- leetcode - Multiply Strings
- [LeetCode][Java] Multiply Strings
- [LeetCode]Multiply Strings
- leetcode Multiply Strings
- leetcode:Multiply Strings +…