43. Multiply Strings
2017-11-12 13:54
169 查看
Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2.
Note:
求两个非负整数的乘积。
Note:
The length of both num1 and num2 is < 110. Both num1 and num2 contains only digits 0-9. Both num1 and num2 does not contain any leading zero. You must not use any built-in BigInteger library or convert the inputs to integer directly.
求两个非负整数的乘积。
#include "MultiplyStrings.h" string MultiplyStrings::multiply(string num1, string num2) { string sum(num1.size() + num2.size(), '0'); //字符串存储数字,字符串的低位是数字的高位 for (int i = num1.size() - 1; i >= 0; i--) { //标记进位 int carry = 0; for (int j = num2.size() - 1; j >= 0; j--) { //模拟乘法的机制 int tmp = (sum[i + j + 1] - '0') + (num1[i] - '0') * (num2[j] - '0') + carry; sum[i + j + 1] = tmp % 10 + '0'; carry = tmp / 10; } //注意这里的进位标记,字符串从低位存高位 sum[i] += carry; } size_t startpos = sum.find_first_not_of("0"); if (string::npos != startpos) { return sum.substr(startpos); } return "0"; }
相关文章推荐
- leetcode 43. Multiply Strings(高精度乘法)
- 43. Multiply Strings
- 43. Multiply Strings
- LeetCode 43. Multiply Strings
- 43. Multiply Strings
- Math--43. Multiply Strings大数乘法
- LeetCode *** 43. Multiply Strings
- 43. Multiply Strings
- leetcode 43. Multiply Strings
- 43. Multiply Strings
- 个人记录-LeetCode 43. Multiply Strings
- [LeetCode]43. Multiply Strings
- 43. Multiply Strings
- LeetCode 43. Multiply Strings
- 43. Multiply Strings
- LeetCode43. Multiply Strings
- Leetcode43. Multiply Strings
- [leetcode] 43. Multiply Strings
- 43. Multiply Strings
- LeetCode: 43. Multiply Strings