Leetcode—43.字符串相乘【中等】

2023-12-23 17:46:29

2023每日刷题(六十八)

Leetcode—43.字符串相乘

在这里插入图片描述

算法思想

在这里插入图片描述

实现代码

class Solution {
public:
    string multiply(string num1, string num2) {
        int len1 = num1.size(), len2 = num2.size();
        string ans;
        int end1 = len1 - 1, end2 = len2 - 1;
        int arr[len1 + len2];
        memset(arr, 0, sizeof(arr));
        for(int i = end1; i >= 0; i--) {
            for(int j = end2; j >= 0; j--) {
                int multi = (num1[i] - '0') * (num2[j] - '0');
                multi += arr[i + j + 1];
                arr[i + j] += multi / 10;
                arr[i + j + 1] = multi % 10;
            }
        }
        int i = 0;
        while(i < len1 + len2 && arr[i] == 0) {
            i++;
        }
        if(i == len1 + len2) {
            return "0";
        }
        while(i < len1 + len2) {
            string s = to_string(arr[i]);
            ans += s;
            i++;
        }
        return ans;
    }
};

运行结果

在这里插入图片描述

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

文章来源:https://blog.csdn.net/qq_44631615/article/details/135168983
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。