43. Multiply Strings
来源:互联网 发布:微波遥感数据 编辑:程序博客网 时间:2024/06/14 09:35
1、题目描述
给两个非负的数字的字符串表示,返回两数之积的字符串表达。
2、思路
两个字符串先先取反。用一个数组ans来表示乘积的每一位,低位在前。
两层遍历嵌套。ans[j+k] += (num1[j] - '0') * (num2[k] - '0');
再次更新ans每一位,要加上前一位的进位。
用String表示ans。
3、代码
string multiply(string num1, string num2) { num1=rev(num1); num2=rev(num2); int l1=num1.size(),l2=num2.size(); int ans[250]; for(int i=0;i<250;i++) ans[i]=0; for(int j=0;j<l1;j++) for(int k=0;k<l2;k++) ans[j+k]+=(num1[j]-'0')*(num2[k]-'0'); for(int i=0;i<249;i++){ ans[i+1]+=ans[i]/10; ans[i]%=10; } string s=""; int i=249; for(;i>=0;i--){ if(ans[i]!=0) break; } if(i==-1) return "0"; for(;i>=0;i--){ s=s+char('0'+ans[i]); } return s; } string rev(string s){ string str; int l=s.size(); for(int i=0;i<l;i++) str=s[i]+str; return str; }
阅读全文
0 0
- [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
- LeetCode 43. Multiply Strings
- ztree模糊查询选中节点
- 如何保证页面在任何情况下不变形
- volatile详解
- 【iOS】push控制器时隐藏tabbar,dismiss控制器时显示tabbar
- Python学习-turtle画图
- 43. Multiply Strings
- Java变量,形参,实参
- 02-neo4j的基本命令
- JDBC&CRUD练习
- listbox1中内容加到listbox2中
- cocos2dx作茧自缚修改creator_to_cocos2dx(一)
- POJ
- 伪知识之了解数据库中备份集中的数据库备份与现有的数据库问题的解决方式持续更新:【内向即失败--王奕君】
- Linux下MySQL的安装