Leetcode 43. Multiply StringsI
来源:互联网 发布:狮王祛痘膏淘宝类目 编辑:程序博客网 时间:2024/06/10 15:31
题意
用数字字符串模拟乘法。
题解
如题
代码
class Solution {public: string mulStr(int digit, string num) { string result; int carry = 0; for (int i = num.length() - 1; i >= 0; i--) { int temp = digit * (num[i] - '0') + carry; carry = temp / 10; result += (temp % 10 + '0'); } if (carry != 0) result += (carry + '0'); reverse(result.begin(), result.end()); return result; } string addStr(string num1, string num2) { if (num1.length() == 0) return num2; string result; //int min_size = min(num1.length(), num2.length()); int carry = 0; int i,j; for (i = num1.length() - 1, j = num2.length() - 1; i >= 0 && j >= 0; i--, j--) { int temp = num1[i] - '0' + num2[j] - '0' + carry; carry = temp / 10; result += (temp % 10 + '0'); } while (i >= 0) { int temp = (num1[i] - '0' + carry); carry = temp / 10; result += (temp % 10 + '0'); i--; } while (j >= 0) { int temp = (num2[j] - '0' + carry); carry = temp / 10; result += (temp % 10 + '0'); j--; } if (carry != 0) result += (carry + '0'); reverse(result.begin(), result.end()); return result; } string multiply(string num1, string num2) { if (num1 == "0" || num2 == "0") return "0"; string result; if (num1.length() < num2.length()) { swap(num1, num2); } for (int i = num2.length() - 1; i >= 0; i--) { string temp = mulStr(num2[i] - '0', num1); string zeros(num2.length() - 1 - i, '0'); //temp += zeros; result = addStr(result, temp + zeros); } return result; }};
0 0
- Leetcode 43. Multiply StringsI
- [LeetCode]43.Multiply Strings
- LeetCode --- 43. Multiply Strings
- [Leetcode] 43. Multiply Strings
- [leetcode] 43.Multiply Strings
- 43. Multiply Strings LeetCode
- leetcode 43. Multiply Strings
- LeetCode 43. Multiply Strings
- LeetCode 43. Multiply Strings
- LeetCode 43. Multiply Strings
- [leetcode] 43. Multiply Strings
- Leetcode 43. Multiply Strings
- (Leetcode)43. Multiply Strings
- LeetCode - 43. Multiply Strings
- leetcode 43. Multiply Strings
- [LeetCode] 43. Multiply Strings
- leetcode 43. Multiply Strings
- Leetcode 43. Multiply Strings
- 内部Handler类引起内存泄露
- 【ReactJS】一、手把手搭建ReactJS开发环境(Sublime)
- Spring IOC scope
- 用PHP将前端与数据库连接。。。
- bootstrap 组件练习
- Leetcode 43. Multiply StringsI
- 与WindowManagerService通讯
- CodeForces 431C k-Tree
- 第七道ACM程序题
- 利用命令模式模拟烤肉店点餐 C++
- Markdown 完全指南
- linux 清空串口缓存
- poj 1611 The Suspects
- @Resource @Autowired的注解注入及区别