43. Multiply Strings
来源:互联网 发布:数据属性二元化例子 编辑:程序博客网 时间:2024/06/07 07:21
题目
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.
解析
思路:按照乘法运算法则利用vector从右向左计算
代码
class Solution {public: string multiply(string num1, string num2) { unsigned int l1=num1.size(),l2=num2.size(); if (l1==0||l2==0) return "0"; vector<int> v(l1+l2,0); for(unsigned int i=0;i<l1;i++){ int n1=(int)(num1[l1-i-1]-'0'); int carry=0; for(unsigned int j=0;j<l2;j++){ int n2=(int)(num2[l2-j-1]-'0'); int sum=n1*n2+v[i+j]+carry; carry=sum/10; v[i+j]=sum%10; } if(carry>0) v[l2+i]=carry; } int start=l1+l2-1; while(v[start]==0&&start>=0) start--; if(start==-1) return "0"; string s=""; for(int i=start;i>=0;i--) s+=(char)(v[i]+'0'); return s; }};
阅读全文
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
- linux 串口 c语言编程需要注意的事项
- TreeMap源码分析
- 习题6.3程序改错
- 单例模式有五种写法:懒汉、饿汉、双重检验锁、静态内部类、枚举。
- 12月11日 数据结构 周一
- 43. Multiply Strings
- 304. Range Sum Query 2D
- ArcEngine 报错记录
- 可变参数列表
- CNN-目标检测、定位、分割
- elcipse环境配置及svn插件安装
- SpringBoot文件上传控制
- 使用nexus搭建maven私库并且使用archetype插件创建模板
- 微积分基本定理