leetcode43. Multiply Strings
来源:互联网 发布:生产线电子看板数据 编辑:程序博客网 时间:2024/06/08 04:05
class Solution {public: string multiply(string num1, string num2) { if(num1.size()<=0 || num2.size()<=0) return "0"; int maxPos = num2.size() - 1; string product="0"; string tempProduct = ""; int zerosLen = 0; for(int i = maxPos ; i>=0 ; i--){ zerosLen = maxPos - i; tempProduct = multiplyChar(num1,num2[i]); if(tempProduct!="0"){ tempProduct += string(zerosLen,'0'); product = add(product,tempProduct); } } return product; } string multiplyChar(string num1,char num2){ if(num1.size()<=0 || num2 == '0' || num1=="0") return "0"; int tempInt =num2 - '0'; string temp =""; int carry = 0; for(int i = num1.size() - 1;i>=0;i--){ temp = string(1,(((num1[i] - '0') * tempInt + carry)% 10) +'0') + temp; carry = ((num1[i] - '0') * tempInt + carry) / 10 ; } if(carry>0) temp = string(1,carry+'0')+temp; return temp; } string add(string num1, string num2){ if(num1.size()<=0 || num2.size()<=0) return num1+num2; if(num1 == "0") return num2; if(num2 == "0") return num1; int cursor1 = num1.size() - 1; int cursor2 = num2.size() - 1; int carry = 0; string temp=""; while(cursor1>=0 || cursor2>=0){ int toAdd1 = cursor1>=0 ? num1[cursor1] - '0' : 0; int toAdd2 = cursor2>=0 ? num2[cursor2] - '0' : 0; temp = string(1,(( toAdd1+ toAdd2 + carry) % 10) +'0') + temp; carry = ( toAdd1+ toAdd2 + carry) / 10; cursor1>=0 && (cursor1--); cursor2>=0 && (cursor2--); } if(carry>0) temp = '1'+temp; return temp; }};
阅读全文
0 0
- [LeetCode43] Multiply Strings
- Leetcode43 Multiply Strings
- LeetCode43. Multiply Strings
- leetcode43 Multiply Strings
- LeetCode43 Multiply Strings
- LeetCode43 Multiply Strings
- leetcode43. Multiply Strings
- LeetCode43——Multiply Strings
- LeetCode43——Multiply Strings(两个字符串表示的整数相乘)???
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- 久未更新,希望能跟上大家的进度,装载问题。
- Salesforce通过Schema Namespace的DescribeSObjectResult Class获取对象的基本信息
- 权限控制filter
- 盒子不占一行
- 菜鸟学Java之Set接口之HashSet浅析
- leetcode43. Multiply Strings
- JDBC回顾
- jquery ocupload一键上传原理
- mysql事务和锁InnoDB
- 随机获取礼物活动总结(抽奖算法)
- SpringBoot 面向切面编程AOP
- centos7 yum安装maven
- vux scroller上拉加载如何停止加载更多
- pygame入门小游戏(外星人入侵(4))