LeetCode: 43. Multiply Strings
来源:互联网 发布:华师网络自助缴费 编辑:程序博客网 时间:2024/05/21 09:20
LeetCode: 43. Multiply Strings
题目描述
Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2.
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.
大意就是让写一个大数乘法的函数。
解题思路
模拟乘法计算的过程。为了方便起见,将字符串翻转。
AC 代码
class Solution {public: string multiply(string num1, string num2) { string ans; if(num1 == "0" || num2 == "0") return "0"; reverse(num1.begin(), num1.end()); reverse(num2.begin(), num2.end()); int carryNum = 0; for(int i = 0; i < num1.size(); ++i) { for(int j = 0; j < num2.size(); ++j) { if(i+j >= ans.size()) ans.resize(i+j+1, 0); ans[i+j] += (num1[i]-'0')*(num2[j]-'0') + carryNum; carryNum = ans[i+j]/10; ans[i+j] %= 10; } for(int j = num2.size(); carryNum != 0; ++j) { if(i+j >= ans.size()) ans.resize(i+j+1, 0); ans[i+j] += carryNum; carryNum = ans[i+j]/10; ans[i+j] %= 10; } } for(int i = 0; i < ans.size(); ++i) { ans[i] += '0'; } reverse(ans.begin(), ans.end()); return ans; }};
1 0
- [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
- leetcode 43. Multiply Strings
- Android 系统启动流程梳理
- python 中sorted()函数
- dpdk测试用例,test程序
- linux内核TCP拥塞控制两个速率增长阶段代码分析
- 什么是形式参数?什么是实际参数
- LeetCode: 43. Multiply Strings
- Hadoop 任务优先级设置(MapReduce)
- TCP Socket服务器编程(C++)
- 2017年3月
- oracle 官方建议系统参数的配置
- EMP界面开发规范
- python3-类与对象
- Pig Latin
- DOS窗口操作MySQl