LeetCode 42. Multiply Strings
来源:互联网 发布:mac系统zh cn 编辑:程序博客网 时间:2024/06/01 08:42
模拟乘法竖式计算,
有个trick是用一维数组vector<int> result(a.size()+b.size(), 0)累计每个位上的值(可以大于10),最后再做进位。
代码:
class Solution {public:string multiply(string a, string b) {vector<int> result(a.size()+b.size(), 0);string ret;for (size_t i = 0; i < a.size(); ++ i){for (size_t j = 0; j < b.size(); ++ j) { result[i+j+1] += ((a[i]-48)*(b[j]-48)); }} for (int i=a.size()+b.size()-1; i >= 0; -- i) { if (i > 0) { result[i-1] += result[i] / 10; // carry } ret.insert(ret.begin(), result[i]%10+48); } ret = ret[0]=='0'? ret.substr(1): ret; return (a=="0"||b=="0")? "0": ret;}};
0 0
- LeetCode 42. Multiply Strings
- 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
- POJ 4002 Alice's mooncake shop(DP,单调队列)
- hdu 4276 The Ghost Blows Light(树型DP)
- 内存分配器 (Memory Allocator)
- RR调度(Round-robin scheduling)简介
- 激活后台窗口
- LeetCode 42. Multiply Strings
- LeetCode 44. Permutations
- LeetCode 45. Permutations II
- developer.biao.daily.20140628
- 大话重构连载2:什么是系统重构
- 计算机中带符号的整数为何采用二进制的补码进行存储
- JAVA中两个专门操作枚举类型的容器类
- 浮点数在内存中的存储方式
- 图的最小生成树(MST)之Prim算法