leetcode Multiply Strings
来源:互联网 发布:lnmp一键 安装php扩展 编辑:程序博客网 时间:2024/06/08 05:09
题目:
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.
这道题是利用string来模拟乘法,代码如下:class Solution {public:string add(string s1, string s2){if (s2.empty()){return s1;}if (s1.empty()){return s2;}int carry = 0;int m = s1.size();int n = s2.size();reverse(s1.begin(), s1.end());reverse(s2.begin(), s2.end());string result;for (int i = 0; i < m || i < n; i++){int m1 = i < m ? s1[i] - '0' : 0;int m2 = i < n ? s2[i] - '0' : 0;int sum = m1 + m2 + carry;carry = sum / 10;result.push_back(sum % 10 + '0');}if (carry){result.push_back(carry + '0');}reverse(result.begin(), result.end());return result;}string multiply(string num1, string num2){int m = num1.size();int n = num2.size();reverse(num1.begin(), num1.end());reverse(num2.begin(), num2.end());string result;for (int i = 0; i < m; i++){string tmp;int carry = 0;for (int j = 0; j < n; j++){int m1 = num1[i] - '0';int m2 = num2[j] - '0';int sum = m1 * m2 + carry;carry = sum / 10;tmp.push_back(sum % 10 + '0');}if (carry){tmp.push_back(carry + '0');}reverse(tmp.begin(), tmp.end());for (int k = 0; k < i; k++){tmp.push_back('0');}result = add(result, tmp);}if (result[0] == '0'){return "0";}return result;}};
0 0
- LeetCode: Multiply Strings
- LeetCode Multiply Strings
- LeetCode: Multiply Strings
- [Leetcode] Multiply Strings
- [LeetCode] Multiply Strings
- [Leetcode] Multiply Strings
- LeetCode 45: Multiply Strings
- [LeetCode]Multiply Strings
- [LeetCode] Multiply Strings
- LeetCode-Multiply Strings
- [leetcode] Multiply Strings
- LeetCode - Multiply Strings
- Leetcode: Multiply Strings
- LeetCode题解:Multiply Strings
- leetcode Multiply Strings
- LeetCode Multiply Strings
- LeetCode | Multiply Strings
- [LeetCode] Multiply Strings
- Cgi入门教程之:6 HTML FORM
- 奇偶校验
- hibernate.cfg.xml文件的配置模板和不同数据库的配置参数
- hdu 4734 数位dp
- 关于进制的几道题
- leetcode Multiply Strings
- 黑马程序员--javase高级基础 内省引出的javabean
- Cgi入门教程之:10 email子过程
- UVA 11624.Fire(广搜)
- 遍历Jenkins所有项目的配置
- canada goose parka-714
- LeetCode-Subsets
- Python replace()方法
- UNP卷1:第十四章(高级I/O函数)