leetcode刷题_字符串相乘

题目描述

在这里插入图片描述

Java解决方法

class Solution {
    
    
    public String multiply(String num1, String num2) {
    
    
        if(num1.equals("0") || num2.equals("0"))
        {
    
    
            return "0";
        }
        int len1 = num1.length();
        int len2 = num2.length();
        int[] data = new int[len1 + len2];
        for(int i = len1 - 1;i >= 0;i--)
        {
    
    
            int a = num1.charAt(i) - '0';
            for(int j = len2 - 1;j >= 0;j--)
            {
    
    
                int b = num2.charAt(j) - '0';
                int sum = data[i + j + 1] + a * b;
                data[i + j + 1] = sum % 10;
                data[i + j] += sum / 10;
            }
        }

        StringBuilder result = new StringBuilder();
        for (int i = 0; i < data.length; i++) {
    
    
            if (i == 0 && data[i] == 0) continue;
            result.append(data[i]);
        }
        return result.toString();
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42148307/article/details/120936425