need improve 43. Multiply Strings
来源:互联网 发布:手机桌面软件管理 编辑:程序博客网 时间:2024/05/22 15:02
class Solution {public: string add(string num1, string num2,int k,int c) { string s1; if(c!=0) s1.push_back('0'+c); string s2(k,'0'); num2=s1+num2+s2; if(num1.size()==0) return num2; int c0=0; for(int i=num2.size()-1,j=num1.size()-1;i>=0;i--,j--) { if(j>num1.size()-1) c0=num2[i]-'0'+c0; else c0=num2[i]-'0'+c0+num1[j]-'0'; num2[i]=c0%10+'0'; c0=c0/10; } if(c0==0) return num2; else return "1"+num2; } string multiply(string num1, string num2) { int k1=0,k2=0; for(int j=0;num1[j++]=='0';k1++) ; for(int j=0;num2[j++]=='0';k2++) ; if(k1==num1.size()||k2==num2.size()) return "0"; string s(k1+k2,'0'); string s1; for(int j=num1.size()-1;j>=k1;j--) { if(num1[j]=='0') continue; string temp(num2,k2); int c=0;//jinwei for(int i=temp.size()-1;i>=0;i--) { int tmp=(num1[j]-'0')*(temp[i]-'0')+c; temp[i]='0'+tmp%10; c=tmp/10; } s1=add(s1,temp,num1.size()-1-j,c); } return s+s1; }};
看看这个
https://leetcode.com/discuss/71593/easiest-java-solution-with-graph-explanation
0 0
- need improve 43. Multiply Strings
- [LeetCode]43.Multiply Strings
- LeetCode --- 43. Multiply Strings
- [Leetcode] 43. Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- [leetcode] 43.Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings LeetCode
- 43. Multiply Strings
- 43. Multiply Strings
- 43. Multiply Strings
- leetcode 43. Multiply Strings
- LeetCode 43. Multiply Strings
- LeetCode 43. Multiply Strings
- 5-36 复数四则运算
- 【Heaven Cow与God Bull】题解
- 由重载函数学习c++ (2)
- 关于Android中so的符号表导出以及C++的符号改编规则
- java实现DES数据加密与解密
- need improve 43. Multiply Strings
- 邮件协议学习
- public private protected
- hdu1029 Ignatius and the Princess IV
- 数组简单实现单向链表
- mysql中文乱码解决
- flask 电子邮件
- PHP之页面跳转
- linux shell 使用