43. Multiply Strings
来源:互联网 发布:skycc营销软件怎么样 编辑:程序博客网 时间:2024/04/27 22:42
Given two numbers represented as strings, return multiplication of the numbers as a string.
Note:
- The numbers can be arbitrarily large and are non-negative.
- Converting the input string to integer is NOT allowed.
- You should NOT use internal library such as BigInteger.
大数字符串相乘,最终结果长度不会超过两个串的长度和,例如三位最大999与两位最大99相乘积为98901,不会超过5位数。处理的思想就是乘法的基本操作,回忆一下笔算乘法,然后用例子4716*228说明:
public class Solution { public static String multiply(String num1, String num2){if(num1.compareTo("0")==0||num2.compareTo("0")==0)return "0";if(num1.length()<num2.length()){String temp=num1;num1=num2;num2=temp;}int len1=num1.length();int len2=num2.length();int len=len1+len2;int[] arr=new int[len1+len2];for(int i=len2-1,k=1;i>=0;i--,k++)for(int j=len1-1,m=1;j>=0;j--,m++){int mul=(num2.charAt(i)-'0')*(num1.charAt(j)-'0');arr[len-k-m+1]+=mul;}int carry=0;for(int i=len-1;i>=0;i--){arr[i]+=carry;carry=arr[i]/10;arr[i]%=10;}StringBuilder sb=new StringBuilder();for(int i=arr[0]==0?1:0;i<len;i++)sb.append(arr[i]);return sb.toString();}}
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
- AppCan IDE-Hybrid混合应用开发平台
- NYOJ91阶乘之和
- Java中的包
- SVM再次总结 - 2 - 线性可分支持向量机
- Linux文件操作
- 43. Multiply Strings
- Java 编码注意
- axis1.4生成客户端代码
- 使用ejs编译后,内容会转义的解决办法
- hihocoder:Give My Text Back
- JVM:FullGC
- RMQ - ST算法
- React快速入门教程
- 加盐哈希函数与验证函数,可用户注册与登录