LeetCode 43题之 Multiply Strings
来源:互联网 发布:python小波变换 编辑:程序博客网 时间:2024/06/06 14:10
详细的算法思路参见我以前的一篇博客:大整数相乘
C++代码:
#include <iostream>#include <string>#include <vector>using namespace std;class Solution {public: //将原字符处转换成数组存放 vector<int> stoint(const string &s) { vector<int> res; for (int i=s.size()-1;i>=0;--i) { res.push_back(s[i]-'0'); } return res; } string multiply(string num1, string num2) { //如果有一个数为零 if (num1 == "0" || num2 == "0") return "0"; vector<int> n1 = stoint(num1); vector<int> n2 = stoint(num2); vector<int> res(n1.size()+n2.size()-1, 0); for (int i=0;i<n1.size();++i) { for (int j=0;j<n2.size();++j) { res[i+j] += n1[i]*n2[j]; } } string s_res; int d = 0; for (int i=0;i<res.size();++i) { //加上低位的进位 res[i] += d; //保存该位的值 s_res = char(res[i]%10+'0')+s_res; d = res[i]/10; } //如果进位不为零 while (d) { s_res = char(d%10+'0')+s_res; d /= 10; } return s_res; }};int main(){ Solution s; cout<<s.multiply("66", "999"); return 0;}
0 0
- LeetCode 43题之 Multiply Strings
- Leetcode之Multiply Strings
- LeetCode之Multiply Strings
- 【Leetcode】之Multiply Strings
- LeetCode 之 Multiply Strings
- Leetcode学习之Multiply Strings (43)
- LeetCode算法题之Multiply Strings
- LeetCode(43) Multiply Strings
- [leetcode 43] Multiply Strings
- [LeetCode 43]Multiply Strings
- leetcode || 43、Multiply Strings
- leetcode-43 Multiply Strings
- Multiply Strings leetcode 43
- leetcode 43: Multiply Strings
- Leetcode 43 Multiply Strings
- leetcode 43 : Multiply Strings
- Leetcode #43 Multiply Strings
- leetcode 43: Multiply Strings
- git配色及常用命令
- 性能调优思考
- C语言MySQL 基础操作(添加、查询和删除)
- android so壳入口浅析
- USACO 4.4.1 Shuttle Puzzle棋盘游戏
- LeetCode 43题之 Multiply Strings
- xml转换cs文件,XSD.exe的使用举例,VS自带运行命令使用
- 如何整合两个大的Android应用工程?(一)
- DDoS攻击——漫画版
- 动态规划问题 (dynamic programming)的总结
- 0051 大数据架构师技能图谱
- OC语言基础--属性
- UGUI 代码流程
- 内存缓存策略探析