给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。
示例 1:
输入: num1 = "2", num2 = "3"
输出: "6"
示例 2:
输入: num1 = "123", num2 = "456"
输出: "56088"
解题思路:定义一个整形数组,长度为两个字符串长度之和。从后往前遍历两个字符串,并将元素相乘。将乘积结果放到对应的
数组位置。 num1的第i位(高位从0开始)和num2的第j位相乘的结果在乘积中的位置是如果乘积小于10,直接存入到[i+j+1]下标,如果乘积大于9,取模存入[i+j+1](需要注意是否产生进位),取商存入[i+j]。
代码实现:
public class test0508 {
public static void main(String[] args) {
Solution s = new Solution();
String num1 = "123";
String num2 = "456";
String ss = s.multiply(num1,num2);
System.out.println(ss);
}
}
class Solution {
public String multiply(String num1, String num2) {

给定两个字符串形式的非负整数num1和num2,本题要求计算它们的乘积并以字符串形式返回。示例中,'2'乘以'3'等于'6','123'乘以'456'等于'56088'。解题策略涉及从后往前遍历字符串,逐位相乘并处理进位。
最低0.47元/天 解锁文章
7832

被折叠的 条评论
为什么被折叠?



