织梦网站栏目字体怎么调,wordpress恢复数据,电商网站设计费用,HTML发布网站题目
给定两个以字符串形式表示的非负整数 num1 和 num2#xff0c;返回 num1 和 num2 的乘积#xff0c;它们的乘积也表示为字符串形式。
注意#xff1a;不能使用任何内置的 BigInteger 库或直接将输入转换为整数。
示例 1:
输入: num1 2, num2 3…题目
给定两个以字符串形式表示的非负整数 num1 和 num2返回 num1 和 num2 的乘积它们的乘积也表示为字符串形式。
注意不能使用任何内置的 BigInteger 库或直接将输入转换为整数。
示例 1:
输入: num1 2, num2 3 输出: 6 示例 2:
输入: num1 123, num2 456 输出: 56088
提示
1 num1.length, num2.length 200 num1 和 num2 只能由数字组成。 num1 和 num2 都不包含任何前导零除了数字0本身。 题解
class Solution {public String multiply(String num1, String num2) {if (num1.equals(0) || num2.equals(0)) {return 0;}String ans 0;int m num1.length(), n num2.length();for (int i n - 1; i 0; i--) {StringBuffer curr new StringBuffer();int add 0;for (int j n - 1; j i; j--) {curr.append(0);}int y num2.charAt(i) - 0;for (int j m - 1; j 0; j--) {int x num1.charAt(j) - 0;int product x * y add;curr.append(product % 10);add product / 10;}if (add ! 0) {curr.append(add % 10);}ans addStrings(ans, curr.reverse().toString());}return ans;}public String addStrings(String num1, String num2) {int i num1.length() - 1, j num2.length() - 1, add 0;StringBuffer ans new StringBuffer();while (i 0 || j 0 || add ! 0) {int x i 0 ? num1.charAt(i) - 0 : 0;int y j 0 ? num2.charAt(j) - 0 : 0;int result x y add;ans.append(result % 10);add result / 10;i--;j--;}ans.reverse();return ans.toString();}
}
来自力扣官方题解